- Feb 05, 2010
-
-
Ted Kremenek authored
Now that the -cc1 options for analyzer checks have a structured naming, add back scanning for analyzer checks to scan-build. llvm-svn: 95349
-
Ted Kremenek authored
llvm-svn: 95348
-
Ted Kremenek authored
llvm-svn: 95347
-
Ted Kremenek authored
llvm-svn: 95346
-
Ted Kremenek authored
llvm-svn: 95345
-
Ted Kremenek authored
llvm-svn: 95343
-
Ted Kremenek authored
llvm-svn: 95342
-
Fariborz Jahanian authored
(Fixes radar 7607605). llvm-svn: 95341
-
John McCall authored
Fixes latent and not-so-latent objc++ and blocks++ bugs. llvm-svn: 95340
-
John Thompson authored
llvm-svn: 95335
-
Douglas Gregor authored
category implementation, which showed up during (attempted) typo correction. Fixes <rdar://problem/7605289>. llvm-svn: 95334
-
- Feb 04, 2010
-
-
John McCall authored
of a C++ record. Exposed a lot of problems where various routines were silently doing The Wrong Thing (or The Acceptable Thing in The Wrong Order) when presented with a non-definition. Also cuts down on memory usage. llvm-svn: 95330
-
Ted Kremenek authored
llvm-svn: 95324
-
Douglas Gregor authored
ton of potential crashes of the same kind. The fundamental problem is that type creation was following a dangerous pattern when using its FoldingSets: 1) Use FindNodeOrInsertPos to see if the type is available 2) If not, and we aren't looking at a canonical type, build the canonical type 3) Build and insert the new node into the FoldingSet The problem here is that building the canonical type can, in very rare circumstances, force the hash table inside the FoldingSet to reallocate. That invalidates the insertion position we computed in step 1, and in step 3 we end up inserting the new node into the wrong place. BOOM! I've audited all of ASTContext, fixing this problem everywhere I found it. The vast majority of wrong code was C++-specific (and *ahem* written by me), so I also audited other major folding sets in the C++ code (e.g., template specializations), but found no other instances of this problem. llvm-svn: 95315
-
Anders Carlsson authored
With this fix, and the other fixes committed today a make check-all with a clang-built LLVM now gives: Expected Passes : 6933 Expected Failures : 46 Unsupported Tests : 40 Unexpected Failures: 27 which means that we pass 99.96% of all tests :) The resulting 27 tests are all LLVMC tests and seem to be because of differences in the clang and gcc drivers. llvm-svn: 95313
-
Anders Carlsson authored
llvm-svn: 95312
-
Anders Carlsson authored
Fix a bug where we would not mark temporaries as conditional when emitting a conditional operator as an lvalue. llvm-svn: 95311
-
Anders Carlsson authored
llvm-svn: 95310
-
Douglas Gregor authored
template parameter, perform array/function decay (if needed), take the address of the argument (if needed), perform qualification conversions (if needed), and remove any top-level cv-qualifiers from the resulting expression. Fixes PR6226. llvm-svn: 95309
-
Anders Carlsson authored
Rename StartConditionalBranch/FinishConditionalBranch to BeginConditionalBranch/EndConditionalBranch. llvm-svn: 95308
-
Anders Carlsson authored
Fix another pointer-to-member function miscompile, this time when trying to call a virtual member function. llvm-svn: 95307
-
Anders Carlsson authored
llvm-svn: 95306
-
Anders Carlsson authored
llvm-svn: 95305
-
Ted Kremenek authored
direct bit manipulation. This is is less error prone, and fixes a bug in the handling of the LeadingZeroes flag as pointed out by Cristian Draghici. llvm-svn: 95298
-
Ted Kremenek authored
llvm-svn: 95297
-
John McCall authored
llvm-svn: 95291
-
Zhongxing Xu authored
llvm-svn: 95290
-
Ted Kremenek authored
llvm-svn: 95287
-
Ted Kremenek authored
llvm-svn: 95286
-
John McCall authored
llvm-svn: 95284
-
Zhongxing Xu authored
llvm-svn: 95279
-
John McCall authored
llvm-svn: 95275
-
John McCall authored
float literals, and unresolved lookups (which required hand-wavey extensions). llvm-svn: 95273
-
Ted Kremenek authored
a different return type. While we don't emit any errors (yet), at least we avoid cases where we might crash because of an assertion failure later on (when the return type differs from what is expected). llvm-svn: 95268
-
Fariborz Jahanian authored
the rewriter. (Fixes radar 7607781). llvm-svn: 95267
-
- Feb 03, 2010
-
-
Anders Carlsson authored
Don't try to fold DeclRefExprs that point to ParmVarDecls. This had the side-effect of always folding the expression to the default argument of the parameter. For example: void f(int a = 10) { return a; } would always return 10, regardless of the passed in argument. This fixes another 600 test failures. We're now down to only 137 failures! llvm-svn: 95262
-
Fariborz Jahanian authored
(Fixes radar 7607413). llvm-svn: 95257
-
Sebastian Redl authored
In some contexts, type declarations cannot occur. Pass this information down to ParseClassSpecifier, to make its decision easier. Fixes PR6200. llvm-svn: 95255
-
Chris Lattner authored
doing so invalidates the file guard optimization and is not in the spirit of "#if 0" because it is supposed to completely skip everything, even if it isn't lexically valid. Patch by Abramo Bagnara! llvm-svn: 95253
-
Douglas Gregor authored
remove some age-old FIXMEs and C++ workarounds within the type-compatibility logic. llvm-svn: 95249
-