summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
* Check in a mangle checker that's turned off by default.Anders Carlsson2010-02-051-0/+18
| | | | llvm-svn: 95377
* Teach C++ name lookup that it's okay to look in a scope without aDouglas Gregor2010-02-052-8/+20
| | | | | | | | context. This happens fairly rarely (which is why we got away with this bug). Fixes PR6184, where we skipped over the template parameter scope while tentatively parsing. llvm-svn: 95376
* Fix array initialization test.Anders Carlsson2010-02-051-1/+2
| | | | llvm-svn: 95375
* Fix a test case.Anders Carlsson2010-02-051-1/+2
| | | | llvm-svn: 95374
* A function declarator with a non-identifier name in an anonymous classDouglas Gregor2010-02-053-2/+9
| | | | | | is a constructor for that class, right? Fixes PR6238. llvm-svn: 95367
* Add test case showing the analyzer invalidates '__block' variables when the ↵Ted Kremenek2010-02-051-0/+13
| | | | | | block is passed as an argument to an ObjC method. llvm-svn: 95366
* More GRState* -> Store changes.Zhongxing Xu2010-02-055-25/+17
| | | | llvm-svn: 95365
* Remove unused parameter.Zhongxing Xu2010-02-053-6/+4
| | | | llvm-svn: 95364
* If a global initializer has a non-trivial destructor it can't be emitted as ↵Anders Carlsson2010-02-052-1/+15
| | | | | | a constant (even if it has a trivial constructor). llvm-svn: 95363
* More GRState* -> Store changes.Zhongxing Xu2010-02-055-15/+10
| | | | llvm-svn: 95362
* When adding ADL candidates for overloadedDouglas Gregor2010-02-052-1/+13
| | | | | | | post-increment/post-decrement operators, be sure to consider both arguments. Fixes PR6237. llvm-svn: 95361
* More GRState* -> Store changes.Zhongxing Xu2010-02-057-196/+169
| | | | llvm-svn: 95360
* When determining whether a scope specifier is complete, consider aDouglas Gregor2010-02-052-0/+16
| | | | | | dependent DeclContext to be "complete". Fixes PR6236. llvm-svn: 95359
* More GRState* -> Store changes.Zhongxing Xu2010-02-055-41/+35
| | | | llvm-svn: 95357
* Change LazyCompoundVal to a <Store, MemRegion*> pair. We really don't need toZhongxing Xu2010-02-056-65/+64
| | | | | | spread GRState* everywhere. llvm-svn: 95354
* Now that the -cc1 options for analyzer checks have a structured naming, add ↵Ted Kremenek2010-02-051-15/+4
| | | | | | back scanning for analyzer checks to scan-build. llvm-svn: 95349
* Rename -cc1 option '-checker-cfref' to '-analyzer-check-objc-mem'.Ted Kremenek2010-02-0579-190/+190
| | | | llvm-svn: 95348
* Rename -cc1 option '-warn-objc-missing-dealloc' to ↵Ted Kremenek2010-02-056-6/+6
| | | | | | '-analyzer-check-objc-missing-dealloc'. llvm-svn: 95347
* Rename -cc1 option '-warn-objc-methodsigs' to '-analyzer-check-objc-methodsigs'.Ted Kremenek2010-02-055-5/+5
| | | | llvm-svn: 95346
* Rename -cc1 option '-warn-objc-unused-ivars' to ↵Ted Kremenek2010-02-055-5/+5
| | | | | | '-analyzer-check-objc-unused-ivars'. llvm-svn: 95345
* Rename -cc1 option '-warn-dead-stores' to '-analyzer-check-dead-stores'.Ted Kremenek2010-02-0510-21/+21
| | | | llvm-svn: 95343
* Rename -cc1 option '-warn-security-syntactic' to ↵Ted Kremenek2010-02-056-6/+6
| | | | | | '-analyzer-check-security-syntactic'. llvm-svn: 95342
* Fix a nested ivar reference rewriting bug.Fariborz Jahanian2010-02-052-13/+63
| | | | | | (Fixes radar 7607605). llvm-svn: 95341
* Always start tag definitions before completing them. Assert same.John McCall2010-02-053-2/+11
| | | | | | Fixes latent and not-so-latent objc++ and blocks++ bugs. llvm-svn: 95340
* First stage of adding AltiVec supportJohn Thompson2010-02-0521-42/+474
| | | | llvm-svn: 95335
* Fix a crash with ill-formed code within a method in an ill-formedDouglas Gregor2010-02-043-4/+13
| | | | | | | category implementation, which showed up during (attempted) typo correction. Fixes <rdar://problem/7605289>. llvm-svn: 95334
* Extract a common structure for holding information about the definitionJohn McCall2010-02-0411-218/+312
| | | | | | | | 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
* Move ParseFormatString() and FormatStringHandler back into the ↵Ted Kremenek2010-02-043-13/+14
| | | | | | analyze_printf namespace. llvm-svn: 95324
* Fix an obscure crash found in the Boost.MPL test suite, along with aDouglas Gregor2010-02-041-16/+58
| | | | | | | | | | | | | | | | | | | | | | | | 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
* When binding an lvalue to a reference, we always need to pop temporaries.Anders Carlsson2010-02-042-1/+30
| | | | | | | | | | | | | 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
* Update test.Anders Carlsson2010-02-041-2/+2
| | | | llvm-svn: 95312
* Fix a bug where we would not mark temporaries as conditional when emitting a ↵Anders Carlsson2010-02-042-1/+13
| | | | | | conditional operator as an lvalue. llvm-svn: 95311
* Improve conditional temporaries test.Anders Carlsson2010-02-041-7/+20
| | | | llvm-svn: 95310
* When substituting the template argument for a pointer non-typeDouglas Gregor2010-02-043-20/+79
| | | | | | | | | 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
* Rename StartConditionalBranch/FinishConditionalBranch to ↵Anders Carlsson2010-02-044-20/+20
| | | | | | BeginConditionalBranch/EndConditionalBranch. llvm-svn: 95308
* Fix another pointer-to-member function miscompile, this time when trying to ↵Anders Carlsson2010-02-042-11/+37
| | | | | | call a virtual member function. llvm-svn: 95307
* Improve test.Anders Carlsson2010-02-041-19/+27
| | | | llvm-svn: 95306
* Calculate offset correctly when taking the address of a virtual member function.Anders Carlsson2010-02-043-7/+23
| | | | llvm-svn: 95305
* Convert flags in FormatSpecifier to be bitfields instead of doingTed Kremenek2010-02-041-18/+17
| | | | | | | | 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
* Add assorted test cases from PR 4172.Ted Kremenek2010-02-041-0/+29
| | | | llvm-svn: 95297
* Allow calling convention attributes to apply to types. Patch by Chip Davis!John McCall2010-02-049-16/+167
| | | | llvm-svn: 95291
* Cast evaluation no longer touch GRState.Zhongxing Xu2010-02-046-70/+28
| | | | llvm-svn: 95290
* Specially handle casts to 'void' in AdjustedReturnValueChecker.Ted Kremenek2010-02-042-2/+17
| | | | llvm-svn: 95287
* Remove stray typo.Ted Kremenek2010-02-041-1/+1
| | | | llvm-svn: 95286
* Mangle member expressions. Also invented.John McCall2010-02-043-1/+69
| | | | llvm-svn: 95284
* Now that CastRetrievedVal returns SVal, there is no need to use CastResult.Zhongxing Xu2010-02-045-49/+31
| | | | llvm-svn: 95279
* Add a cautionary note about the mangling I just invented.John McCall2010-02-041-0/+3
| | | | llvm-svn: 95275
* Add mangling support for calls, sizeof/alignof, constructor calls,John McCall2010-02-043-29/+199
| | | | | | float literals, and unresolved lookups (which required hand-wavey extensions). llvm-svn: 95273
* static analyzer: handle casts of a function to a function pointer withTed Kremenek2010-02-045-1/+108
| | | | | | | | 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
* Fix rewriting of 'const' __block variables inFariborz Jahanian2010-02-042-2/+39
| | | | | | the rewriter. (Fixes radar 7607781). llvm-svn: 95267
OpenPOWER on IntegriCloud