Eli Friedman
7dfa791f4f
Expand ATOMIC_LOAD and ATOMIC_STORE for architectures I don't know well enough to fix properly.
...
llvm-svn: 138751
2011-08-29 18:23:02 +00:00
Jim Grosbach
b969d9c328
Tidy up. 80 columns.
...
llvm-svn: 138750
2011-08-29 18:22:04 +00:00
Benjamin Kramer
4dd515c04f
Dump with dbgs() instead of printf.
...
llvm-svn: 138749
2011-08-29 18:14:17 +00:00
Benjamin Kramer
6bb5b3cfcd
Make GCC happy by adding parens.
...
llvm-svn: 138748
2011-08-29 18:14:15 +00:00
Owen Anderson
baa7edb06a
Add testcase for r138746.
...
llvm-svn: 138747
2011-08-29 18:02:40 +00:00
Owen Anderson
6314343333
Update the load-store optimizer for changes to the operands on LDR_PRE_IMM and LDRB_PRE_IMM in r138653.
...
llvm-svn: 138746
2011-08-29 17:59:41 +00:00
Matt Beaumont-Gay
a421ee10b2
Fix a test that wasn't testing the right thing.
...
The APFloat "Zero" test was actually calling the
APFloat(const fltSemantics &, integerPart) constructor, and EXPECT_EQ was
treating 0 and -0 as equal.
llvm-svn: 138745
2011-08-29 17:54:20 +00:00
Bruno Cardoso Lopes
50e0170fa5
Move non-intruction patterns to a more appropriate place!
...
llvm-svn: 138744
2011-08-29 17:51:24 +00:00
Fariborz Jahanian
4327b32654
Minor clean up of objc's decl context stuff.
...
No change in functionality.
llvm-svn: 138742
2011-08-29 17:33:12 +00:00
Douglas Gregor
26858b7e10
Add and document __has_feature values for the remaining C++0x
...
features, so clients can check for the availability of these features
even before we get around to implementing them.
llvm-svn: 138741
2011-08-29 17:28:38 +00:00
Owen Anderson
f02d98d7c0
Add support for parsing #-0 on non-memory-operand immediate values, and add a testcase that necessitates it.
...
llvm-svn: 138739
2011-08-29 17:17:09 +00:00
Caitlin Sadowski
293d24a5ba
Thread safety: various minor bugfixes, with test cases
...
This patch is by DeLesley Hutchins.
llvm-svn: 138738
2011-08-29 17:12:27 +00:00
Andrew Trick
0896621a50
Reapply r138695. Fix PassManager stack depths.
...
Patch by Xiaoyi Guo!
llvm-svn: 138737
2011-08-29 17:07:00 +00:00
Matt Beaumont-Gay
d6238f4717
Fix type mismatch in initialization (caught by -Wliteral-conversion)
...
llvm-svn: 138736
2011-08-29 16:37:29 +00:00
Jeffrey Yasskin
74231381a3
Print 'int' instead of 'const int' in the narrowing conversion error, since the
...
qualification of a type doesn't affect whether a conversion is a narrowing
conversion.
This doesn't work in template cases because SubstTemplateTypeParmType gets in
the way.
llvm-svn: 138735
2011-08-29 15:59:37 +00:00
Tobias Grosser
516dbb24b5
Add AMDIL as valid target triple to LLVM.
...
Submitted by: Villmow, Micah <Micah.Villmow@amd.com>
llvm-svn: 138734
2011-08-29 15:44:55 +00:00
Jordy Rose
a18844c547
[analyzer] Remove empty obsolete header directories from StaticAnalyzer.
...
llvm-svn: 138731
2011-08-29 05:06:08 +00:00
Nico Weber
1fb82667dd
Warn on missing [super finalize] calls.
...
This matches gcc's logic. Second half of PR10661.
llvm-svn: 138730
2011-08-28 22:35:17 +00:00
Jordy Rose
7881affdbf
[analyzer] Header cleanup to decrease coupling (and recompilation). No functionality change.
...
llvm-svn: 138729
2011-08-28 19:45:32 +00:00
Jordy Rose
58a20d31b7
[analyzer] Introduce a new callback for checkers, printState, to be used for debug-printing the contents of a ProgramState.
...
Unlike the other callbacks, this one is a simple virtual method, since it is only to be used for debugging.
This new callback replaces the old ProgramState::Printer interface, and allows us to move the printing of refcount bindings from CFRefCount to RetainReleaseChecker.
llvm-svn: 138728
2011-08-28 19:11:56 +00:00
Howard Hinnant
b1e3e0e59e
__split_buffer should only require default constructible. Bug found and fixed by Jared Hoberock
...
llvm-svn: 138726
2011-08-28 15:21:29 +00:00
Nicolas Geoffray
7ea09c9462
Remove premature previous commit.
...
llvm-svn: 138725
2011-08-28 14:52:51 +00:00
Duncan Sands
4d63542b82
Fix PR5329: pay attention to constructor/destructor priority
...
when outputting them. With this, the entire LLVM testsuite
passes when built with dragonegg.
llvm-svn: 138724
2011-08-28 13:17:22 +00:00
Nicolas Geoffray
f786bae6ac
Encoding of instructions referencing segments has changed. Do what X86MCCodeEmitter does.
...
llvm-svn: 138723
2011-08-28 13:07:57 +00:00
Nadav Rotem
52600ee8c3
Bitcasts are transitive. Bitcast-Bitcast-X becomes Bitcast-X.
...
llvm-svn: 138722
2011-08-28 11:51:08 +00:00
Nico Weber
5d8f912f50
[analyzer] update bug report url
...
llvm-svn: 138721
2011-08-28 11:50:56 +00:00
Jordy Rose
e9ff97b850
[analyzer] Remove the ProgramState argument from ExprEngine::evalBind; we were ignoring it anyway. No functionality change.
...
llvm-svn: 138720
2011-08-28 06:02:28 +00:00
Jordy Rose
d26e9e7f7c
[analyzer] Eliminate almost all uses of TransferFuncs from ExprEngine.
...
llvm-svn: 138719
2011-08-28 05:54:23 +00:00
Jordy Rose
d188d66e69
[analyzer] Migrate argument invalidation from CFRefCount to ExprEngine.
...
This is a common path for function and C++ method calls, Objective-C messages and property accesses, and C++ construct-exprs.
As support, add message receiver accessors to ObjCMessage and CallOrObjCMessage.
llvm-svn: 138718
2011-08-28 05:16:28 +00:00
Nick Lewycky
7bfd86d046
Fix integer overflow bug in raw_ostream::write. This showed up as a
...
non-deterministic crash in the test suite. Fixes PR10055!
llvm-svn: 138717
2011-08-28 03:30:02 +00:00
Jordy Rose
1fad663126
[analyzer] Change the check::RegionChanges callback to include the regions explicitly requested for invalidation.
...
Also, allow CallOrObjCMessage to wrap a CXXConstructExpr as well.
Finally, this allows us to remove the clunky whitelisting system from CFRefCount/RetainReleaseChecker. Slight regression due to CXXNewExprs not yet being handled in post-statement callbacks (PR forthcoming).
llvm-svn: 138716
2011-08-27 22:51:26 +00:00
John McCall
4bb057d321
Disable the l-value to r-value conversion on C++ class types passed
...
to varargs functions in unevaluated contexts. AFAICT, there is no
standards justification for this, but it matches what other compilers do
and therefore preserves compatibility with certain template metaprogramming
idioms.
Should fix self-host.
llvm-svn: 138715
2011-08-27 22:06:17 +00:00
Fariborz Jahanian
83aa8ab3ae
objective-c - Make warning on unimplemented protocols point
...
to class implementation where it is supposed to be
implemented. // rdar://10009982.
llvm-svn: 138714
2011-08-27 21:55:47 +00:00
Ted Kremenek
996bfab499
[analyzer] Rename current PathDiagnosticClient::HandlePathDiagnostic() to HandlePathDiagnosticImpl(), and slot in new HandlePathDiagnostic() for potentially handling concurrent access to PathDiagnosticClients (in the future).
...
llvm-svn: 138713
2011-08-27 21:39:14 +00:00
Ted Kremenek
60120fb1b1
[analyzer] Pull body of loop in AnalysisConsumer::HandleDeclContext() into its own method. No real functionality change.
...
llvm-svn: 138712
2011-08-27 21:28:09 +00:00
Ted Kremenek
6eb83cfacd
[analyzer] Add test case for handling of __bridge_transfer that previously resulted in a 'stack address' warning (that was fixed in r138616). Fixes <rdar://problem/10018376>.
...
llvm-svn: 138710
2011-08-27 21:15:48 +00:00
Fariborz Jahanian
3a039e339f
objective-c: Treat top-level objective-c declarations
...
, such as list of forward @class decls, in a DeclGroup
node. Deal with its consequence throught clang. This
is in preparation for more Sema work ahead. // rdar://8843851.
Feel free to reverse if it breaks something important
and I am unavailable.
llvm-svn: 138709
2011-08-27 20:50:59 +00:00
John McCall
e83797c3aa
The 'expected' argument to EXPECT_EQ is actually the first one;
...
flip these tests around.
llvm-svn: 138708
2011-08-27 19:23:22 +00:00
Benjamin Kramer
1174675c7b
Remove unused variables noticed by GCC.
...
llvm-svn: 138707
2011-08-27 17:54:32 +00:00
Benjamin Kramer
61a1ff543c
Silence GCC warnings and make an array const.
...
llvm-svn: 138706
2011-08-27 17:36:14 +00:00
Benjamin Kramer
5ff961c376
Report failure if there are less bytes than requested in a MemoryObject.
...
Before we just left the remaining bytes uninitialized. This is another step in making llvm valgrind-clean again.
llvm-svn: 138705
2011-08-27 07:45:46 +00:00
Douglas Gregor
d90c3c92d5
Take an entirely different approach to handling the "parsing" of
...
__import__ within the preprocessor, since the prior one foolishly
assumed that Preprocessor::Lex() was re-entrant. We now handle
__import__ at the top level (only), after macro expansion. This should
fix the buildbot failures.
llvm-svn: 138704
2011-08-27 06:37:51 +00:00
Andrew Trick
d22f9b395b
Reverted r138652, valgrind doesn't understand obj:*/tblgen.
...
llvm-svn: 138703
2011-08-27 06:17:30 +00:00
Bill Wendling
ba198e661e
Auto upgrade the old EH scheme to use the new one. This is on a trial basis. If
...
things to disasterously over night, this can be reverted.
llvm-svn: 138702
2011-08-27 06:11:03 +00:00
Andrew Trick
5c29ebae8e
Reverting r138695 to see if it fixes clang self host.
...
llvm-svn: 138701
2011-08-27 06:10:16 +00:00
Bill Wendling
032c60c1a0
Only delete instructions once.
...
llvm-svn: 138700
2011-08-27 06:10:02 +00:00
Bill Wendling
2f92d2cdae
Update to new EH scheme.
...
llvm-svn: 138699
2011-08-27 04:53:41 +00:00
Bill Wendling
46c720994a
Cannot have an llvm.eh.exception call in a non-landing pad block.
...
llvm-svn: 138698
2011-08-27 04:53:28 +00:00
Bill Wendling
4707d37ac9
These splits should be done whether they are critical edges or not.
...
llvm-svn: 138697
2011-08-27 04:40:37 +00:00
Argyrios Kyrtzidis
bd0a6019a2
[arcmt] Xfail the test for windows.
...
llvm-svn: 138696
2011-08-27 03:38:05 +00:00