summaryrefslogtreecommitdiffstats
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
* Fix test.Evan Cheng2010-02-051-2/+2
| | | | llvm-svn: 95373
* implement the non-relocation forms of memory operandsChris Lattner2010-02-051-65/+111
| | | | llvm-svn: 95368
* 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
* Handle tail call with byval arguments.Evan Cheng2010-02-052-25/+107
| | | | llvm-svn: 95351
* start adding MRMDestMem, which requires memory form mod/rm encodingChris Lattner2010-02-051-1/+158
| | | | | | to start limping. llvm-svn: 95350
* 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
* Add a few more encodings, we can now encode all of:Chris Lattner2010-02-052-33/+58
| | | | | | | | | | pushl %ebp movl %esp, %ebp movl $42, %eax popl %ebp ret llvm-svn: 95344
* 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
* When the scheduler unfold a load folding instruction it move some of the ↵Evan Cheng2010-02-052-2/+38
| | | | | | | | predecessors to the unfolded load. It decides what gets moved to the load by checking whether the new load is using the predecessor as an operand. The check neglects the cases whether the predecessor is a flagged scheduling unit. rdar://7604000 llvm-svn: 95339
* An empty global constant (one of size 0) may have a section immediatelyBill Wendling2010-02-052-0/+51
| | | | | | | | | | | following it. However, the EmitGlobalConstant method wasn't emitting a body for the constant. The assembler doesn't like that. Before, we were generating this: .zerofill __DATA, __common, __cmd, 1, 3 This fix puts us back to that semantic. llvm-svn: 95336
* 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
* Do not reassociate expressions with i1 type. SimplifyCFG converts someBob Wilson2010-02-041-0/+9
| | | | | | | | | | short-circuited conditions to AND/OR expressions, and those expressions are often converted back to a short-circuited form in code gen. The original source order may have been optimized to take advantage of the expected values, and if we reassociate them, we change the order and subvert that optimization. Radar 7497329. llvm-svn: 95333
* 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
* Disable external stubs for X86-32 and X86-64Evan Phoenix2010-02-042-3/+11
| | | | | | | | | Instruction selection for X86 now can choose an instruction sequence that will fit any address of any symbol, no matter the pointer width. X86-64 uses a mov+call-via-reg sequence for this. llvm-svn: 95323
* Fix typo Duncan noticed.Evan Cheng2010-02-041-1/+1
| | | | llvm-svn: 95322
* Increase inliner thresholds by 25.Jakob Stoklund Olesen2010-02-041-3/+3
| | | | | | | | This makes the inliner about as agressive as it was before my changes to the inliner cost calculations. These levels give the same performance and slightly smaller code than before. llvm-svn: 95320
* Fix small bug in handling instructions with more than one implicitly defined ↵Jakob Stoklund Olesen2010-02-042-1/+28
| | | | | | | | | operand. ProcessImplicitDefs would only mark one operand per instruction with <undef>. This fixed PR6086. llvm-svn: 95319
* Get the LLVMC tests working with clang++ by removing the problematic CXXFLAG ↵Benjamin Kramer2010-02-041-0/+5
| | | | | | in lit. llvm-svn: 95318
* 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
OpenPOWER on IntegriCloud