Argyrios Kyrtzidis
173e911394
[libclang] Add defensive checks to make sure we don't try to dereference
...
a null pointer after getCursorDecl() is called. rdar://10298421.
llvm-svn: 146312
2011-12-10 02:36:25 +00:00
Rafael Espindola
c7f355b8e1
Handle expressions of the form _GLOBAL_OFFSET_TABLE_-symbol the same way gas
...
does. The _GLOBAL_OFFSET_TABLE_ is still magical in that we get a R_386_GOTPC,
but it doesn't change the immediate in the same way as when the expression
has no right hand side symbol.
llvm-svn: 146311
2011-12-10 02:28:43 +00:00
Greg Clayton
3bffb085f4
<rdar://problem/10559329>
...
An assertion was firing when parsing types due to trying to complete parent
class decl contenxt types too often.
Also, relax where "dsymutil" binary can come from in the Makefile.rules.
llvm-svn: 146310
2011-12-10 02:15:28 +00:00
Jim Ingham
9ee0115147
Don't try to cache the ExecutionContextScope in the ValueObject::EvaluationPoint, it is too
...
hard to ensure it doesn't get invalidated out from under us. Instead look it up from the ThreadID
and StackID when asked for it.
<rdar://problem/10554409>
llvm-svn: 146309
2011-12-10 01:49:43 +00:00
Argyrios Kyrtzidis
cc6107df08
In ContentCache::replaceBuffer, add sanity check to make sure that we do not free a buffer
...
and then continue using it. rdar://10359140.
llvm-svn: 146308
2011-12-10 01:38:26 +00:00
Douglas Gregor
8ca0c6408e
Make sure that we infer __strong, etc. when we instantiate variables
...
under ARC. Fixes <rdar://problem/10530209>.
llvm-svn: 146307
2011-12-10 01:22:52 +00:00
Richard Smith
036e2bd07a
Add a fast path to the constant evaluator for integer literals. This speeds up
...
compilation of some translation units of SPEC's 445.gobmk by ~4%, and does not
seem to cause a measurable slowdown in other cases.
llvm-svn: 146306
2011-12-10 01:10:13 +00:00
Argyrios Kyrtzidis
6c8d29f7d1
Add a sanity check in SourceManager::getColumnNumber, make sure
...
we don't try to access beyond the buffer.
llvm-svn: 146305
2011-12-10 00:30:38 +00:00
Fariborz Jahanian
88d510da9d
Add ability to supply additional message to availability macros,
...
// rdar://10095131
llvm-svn: 146304
2011-12-10 00:28:41 +00:00
Douglas Gregor
ddaae8e4e5
Use the right CHECK prefix so that we actually do this checking. Miraculously, this hasn't broken
...
llvm-svn: 146303
2011-12-10 00:28:18 +00:00
Andrew Trick
e8b4f409b2
LSR: ignore strides in outer loops.
...
Since we're not rewriting IVs in other loops, there's not much reason
to consider their stride when generating formulae.
This should reduce the number of useless formulas considered by LSR.
llvm-svn: 146302
2011-12-10 00:25:00 +00:00
Douglas Gregor
c7f46f20d1
When we manage to re-use an expression during tree transformation (=
...
template instantiation), and that expression might produce a
temporary, invoke MaybeBindToTemporary. Otherwise, we forget to
destroy objects, release objects, etc. Fixes <rdar://problem/10531073>.
llvm-svn: 146301
2011-12-10 00:23:21 +00:00
Jim Grosbach
54337b8617
ARM add some more pre-UAL VFP mnemonics for convenience when porting old code.
...
llvm-svn: 146300
2011-12-10 00:01:02 +00:00
Eli Friedman
4e36a934dc
Splats can contain undef's; make sure to handle them correctly. PR11526.
...
llvm-svn: 146299
2011-12-09 23:54:42 +00:00
Daniel Dunbar
19939cc380
Driver: Handle -f{no-}honor-infinities, -f{no-}honor-nans, and
...
-ffinite-math-only.
- No test case yet, I don't know how to construct a situation where this
matters.
llvm-svn: 146297
2011-12-09 23:41:18 +00:00
Jim Grosbach
8be2f6577e
ARM add some pre-UAL VFP mnemonics for convenience when porting old code.
...
llvm-svn: 146296
2011-12-09 23:34:09 +00:00
Sean Callanan
8a6a6acd1f
Fixed a problem with properties where LLDB was not
...
creating appropriate setter/getter methods for
property definitions.
llvm-svn: 146295
2011-12-09 23:24:26 +00:00
NAKAMURA Takumi
0cfb3675cb
unittests/Support/Path.cpp: [recursive_directory_iterator] Work around for end iterator.
...
FIXME: It should be more robust.
llvm-svn: 146294
2011-12-09 23:20:03 +00:00
Bill Wendling
3681d1126c
Add dump method for debugging.
...
llvm-svn: 146293
2011-12-09 23:18:34 +00:00
Matt Beaumont-Gay
e17b7413e1
Fix up doxyments (\arg vs \p).
...
llvm-svn: 146292
2011-12-09 23:16:01 +00:00
Eli Friedman
de6a86b4f6
Make array new on a pointer to data member type work correctly. PR11523.
...
llvm-svn: 146291
2011-12-09 23:05:37 +00:00
Richard Smith
0765bec2ad
Mechanically convert static_assert_fold to static_assert, now we implement the
...
C++11 ICE rules.
llvm-svn: 146290
2011-12-09 23:00:37 +00:00
Richard Smith
f57d8cb131
C++11 constant expressions: Don't use CheckICE in C++11; instead, determine
...
whether an expression is a (core) constant expression as a side-effect of
evaluation. This takes us from accepting far too few expressions as ICEs to
accepting slightly too many -- fixes for the remaining cases are coming next.
The diagnostics produced when an expression is found to be non-constant are
currently quite poor (with generic wording but reasonable source locations),
and will be improved in subsequent commits.
llvm-svn: 146289
2011-12-09 22:58:01 +00:00
Bill Wendling
4517fe5020
Random cleanups. No description changes.
...
llvm-svn: 146288
2011-12-09 22:41:40 +00:00
Ted Kremenek
b4a8b056f8
Add clang_getDiagnosticSetFromTU() to libclang. Fixes <rdar://problem/10553081>.
...
llvm-svn: 146287
2011-12-09 22:28:32 +00:00
Ted Kremenek
2d6d886d73
Sort exports list.
...
llvm-svn: 146286
2011-12-09 22:28:29 +00:00
Jim Grosbach
ef70e9b704
ARM allows '' syntax, not just '#imm' for assembly.
...
Backwards compatibility with 'gas'. #imm is the preferered and documented
syntax, but lots of existing code uses the '$' prefix, so we should
support it if we can.
llvm-svn: 146285
2011-12-09 22:25:03 +00:00
Kostya Serebryany
3563f8cd41
[asan] call __asan_init from .preinit_array. This simplifies __asan_init vs malloc chicken-and-egg situation on Android and probably on other flavours of Linux. Patch by eugenis@google.com.
...
llvm-svn: 146284
2011-12-09 22:09:32 +00:00
Jim Grosbach
6192b6570d
ARM assembly aliases for BIC<-->AND (immediate).
...
When the immediate operand of an AND or BIC instruction isn't representable
in the immediate field of the instruction, but the bitwise negation of the
immediate is, assemble the instruction as the inverse operation instead
with the inverted immediate as the operand.
rdar://10550057
llvm-svn: 146283
2011-12-09 22:02:17 +00:00
Evan Cheng
1d54d2210a
Update test to something more sensible.
...
llvm-svn: 146282
2011-12-09 21:54:10 +00:00
Jim Grosbach
ea1b353e67
ARM NEON data type aliases for VBIC(register).
...
llvm-svn: 146281
2011-12-09 21:46:04 +00:00
David Blaikie
10eb4b67d8
Add notes for suppressing and (if it's a zero-arg function returning bool) fixing the function-to-bool conversion warning.
...
llvm-svn: 146280
2011-12-09 21:42:37 +00:00
Benjamin Kramer
66af99eb34
Update after LLVM API change.
...
llvm-svn: 146279
2011-12-09 21:34:43 +00:00
Jim Grosbach
d146a02c79
ARM assembly parsing and encoding for VLD2 with writeback.
...
Refactor the instructions into fixed writeback and register-stride
writeback variants to simplify the offset operand (no more optional
register operand using reg0). This is a simpler representation and allows
the assembly parser to more easily handle these instructions.
Add tests for the instruction variants now supported.
llvm-svn: 146278
2011-12-09 21:28:25 +00:00
Jakub Staszak
f5b32e52db
SplitBlockPredecessors uses ArrayRef instead of Data and Size.
...
llvm-svn: 146277
2011-12-09 21:19:53 +00:00
Chad Rosier
dd998ff4df
[fast-isel] Add support for selecting insertvalue.
...
rdar://10530851
llvm-svn: 146276
2011-12-09 20:09:54 +00:00
Howard Hinnant
8de583abf2
Added support for <special-name> ::= TC <first type> <number> _ <second type> # construction vtable for second-in-first, and for <special-name> ::= GR <object name> # reference temporary for object
...
llvm-svn: 146274
2011-12-09 20:07:56 +00:00
Rafael Espindola
7e0a793183
Handle reloc_signed_4byte in here. Not doing so was a regression from my
...
previous commit. It is strange that we see it in 32 bits. We already
have a fixme about it.
llvm-svn: 146273
2011-12-09 19:57:29 +00:00
Fariborz Jahanian
e283346d0b
objc-arc: diagnose synthesis of a 'weak unavailable' property.
...
// rdar://10535245
llvm-svn: 146272
2011-12-09 19:55:11 +00:00
Jim Ingham
703588540e
Don't spam warnings about not being able to read memory at 0x0.
...
llvm-svn: 146271
2011-12-09 19:48:22 +00:00
Jakob Stoklund Olesen
f85723626c
User a helper overload for a common pattern.
...
llvm-svn: 146270
2011-12-09 19:44:39 +00:00
Bill Wendling
abe534c6cc
Revert r146041 et al. The FunctionPass doesn't take an address but the ID.
...
llvm-svn: 146268
2011-12-09 19:11:02 +00:00
Jim Grosbach
8a4009dab2
Tidy up. Better base class factoring.
...
llvm-svn: 146267
2011-12-09 19:07:20 +00:00
Jim Grosbach
b076e6f3d5
Tidy up. Better base class factoring.
...
llvm-svn: 146266
2011-12-09 18:54:11 +00:00
David Blaikie
72b61203f4
Provide a separate warning for weak vtables in explicit template instantiations. There's no (current) way to fix such templates to emit strong symbols/vtables, but perhaps users want to know about the cost being incurred anyway.
...
llvm-svn: 146265
2011-12-09 18:32:50 +00:00
Jakob Stoklund Olesen
5f5fa12413
Tweak debugging output.
...
llvm-svn: 146264
2011-12-09 18:20:35 +00:00
Kostya Serebryany
0698b852ed
[asan] fix asan-rt interceptors on Snow Leopard. Patch by glider@google.com
...
llvm-svn: 146263
2011-12-09 18:18:54 +00:00
Kevin Enderby
e7739d484f
The second part of support for generating dwarf for assembly source files. This
...
generates the dwarf Compile Unit DIE and a dwarf subprogram DIE for each
non-temporary label.
The next part will be to get the clang driver to enable this when assembling
a .s file. rdar://9275556
llvm-svn: 146262
2011-12-09 18:09:40 +00:00
Douglas Gregor
5ca04bd4e7
When performing subframework header lookup, don't search for
...
".framework/" in the path name, because it could be ".framework\" on
Windows. This whole function needs to be rewritten with PathV2.
llvm-svn: 146261
2011-12-09 16:48:01 +00:00
Douglas Gregor
e32e054279
Use llvm::sys::fs::equivalent rather than comparing inodes, because
...
comparing inodes doesn't actually work on Windows.
llvm-svn: 146260
2011-12-09 16:22:07 +00:00