summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Reapply r150631:Eric Christopher2012-02-163-104/+203
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | "Add a completed/incomplete type difference. This allows us to have partial types for contexts and forward decls while allowing us to complete types later on for debug purposes. This piggy-backs on the metadata replacement and rauw changes for temporary nodes and takes advantage of the incremental support I added in earlier. This allows us to, if we decide, to limit adding methods and variables to structures in order to limit the amount of debug information output into a .o file. The caching is a bit complicated though so any thoughts on untangling that are welcome." with a fix: - Remove all RAUW during type construction by adding stub versions of types that we later complete. and some TODOs: - Add an RAUW cache for forward declared types so that we can replace them at the end of compilation. - Remove the code that updates on completed types because we no longer need to have that happen. We emit incomplete types on purpose and only want to know when we want to complete them. llvm-svn: 150752
* Remove comment.Akira Hatanaka2012-02-161-2/+0
| | | | llvm-svn: 150739
* Elide copy construction in new expressions. PR11757.Eli Friedman2012-02-165-30/+16
| | | | llvm-svn: 150738
* Remove unnecessary assignment to temporary, ResultReg.Chad Rosier2012-02-161-13/+8
| | | | llvm-svn: 150737
* Use –mcpu=generic, so that the test will not fail when run on an Intel AtomBill Wendling2012-02-161-1/+1
| | | | | | | | processor, due to the Atom scheduler producing an instruction sequence that is different from that which is expected. Patch by Michael Spencer! llvm-svn: 150736
* Avoid infinite mutual recursion in DiagnoseInvalidRedeclaration.Kaelyn Uhrain2012-02-162-2/+28
| | | | | | | | Don't try to typo-correct a method redeclaration to declarations not in the current record as it could lead to infinite recursion if CorrectTypo finds more than one correction candidate in a parent record. llvm-svn: 150735
* [analyzer] MallocChecker: more tests.Anna Zaks2012-02-162-0/+91
| | | | llvm-svn: 150734
* [analyzer] Malloc Checker: Clean up bug naming:Anna Zaks2012-02-164-70/+67
| | | | | | | - Rename the category "Logic Error" -> "Memory Error". - Shorten all the messages. llvm-svn: 150733
* [analyzer] Malloc Checker: Make the diagnostic visitor handle the caseAnna Zaks2012-02-162-69/+493
| | | | | | of failing realloc. + Minor cleanups. llvm-svn: 150732
* Pacify gcc's -Wreturn-typeMatt Beaumont-Gay2012-02-161-0/+1
| | | | llvm-svn: 150731
* memory read prints out duplicate entries when using vector formatsJohnny Chen2012-02-164-12/+126
| | | | | | | | | DataExtractor::Dump() needs to supply the correct cursor when delegating to the child DataExtractor::Dump() calls. Add a regression test file. rdar://problem/10872908 llvm-svn: 150729
* fix the property list metadata name.Fariborz Jahanian2012-02-161-2/+2
| | | | llvm-svn: 150728
* Improve recovery for lambda expressions that have 'mutable' or aDouglas Gregor2012-02-163-0/+50
| | | | | | | trailing return type but not a '()'. Recover by inserting the parentheses. Thanks to Xeo on IRC for the example. llvm-svn: 150727
* modern objective-c translator: write the root class meta-data.Fariborz Jahanian2012-02-161-2/+74
| | | | llvm-svn: 150726
* Lambda closure types are always considered to be like "local" classes,Douglas Gregor2012-02-163-3/+40
| | | | | | | | | even if they are not within a function scope. Teach template instantiation to treat them as such, and make sure that we have a local instantiation scope when instantiating default arguments and static data members. llvm-svn: 150725
* Make sure we still reject static data members in anonymous unions in C++11.Richard Smith2012-02-161-0/+12
| | | | llvm-svn: 150724
* Add checker visitation hooks in ExprEngine::Visit() for common no-op ↵Ted Kremenek2012-02-161-2/+7
| | | | | | expressions. To be used later. llvm-svn: 150723
* Revert "Move ExplodedNode reclaimation out of ExprEngine and into ↵Ted Kremenek2012-02-164-17/+26
| | | | | | CoreEngine. Also have it based on adding predecessors/successors, not node allocation. No measurable performance change." llvm-svn: 150722
* C++11 allows unions to have static data members. Remove the correspondingRichard Smith2012-02-167-13/+92
| | | | | | restriction and add some tests. llvm-svn: 150721
* Move ExplodedNode reclaimation out of ExprEngine and into CoreEngine. Also ↵Ted Kremenek2012-02-164-26/+17
| | | | | | have it based on adding predecessors/successors, not node allocation. No measurable performance change. llvm-svn: 150720
* Minor cleanup to node data structures in ExplodedGraph. No functionality ↵Ted Kremenek2012-02-163-49/+30
| | | | | | change. llvm-svn: 150719
* Tweak the comment on the 'q' length modifier again.Hans Wennborg2012-02-161-1/+1
| | | | llvm-svn: 150716
* Update credits.Chad Rosier2012-02-161-0/+5
| | | | llvm-svn: 150715
* modern objc translator: meta-data generation for firstFariborz Jahanian2012-02-161-22/+68
| | | | | | part of class meta-data. llvm-svn: 150714
* Fix this test to work with and without Asserts mode.Dan Gohman2012-02-161-13/+10
| | | | llvm-svn: 150713
* Note x86 regmask operands in release notes.Jakob Stoklund Olesen2012-02-161-1/+3
| | | | llvm-svn: 150712
* Update comment as per Joerg's comment on r150697.Hans Wennborg2012-02-161-1/+1
| | | | llvm-svn: 150711
* In Objective-C++, allow the keyword 'class' to be used as a propertyDouglas Gregor2012-02-162-6/+37
| | | | | | | | name for dot syntax, e.g., NSObject.class or foo.class. For other C++-keywords-as-method-names, use message send syntax. Fixes <rdar://problem/10794452>. llvm-svn: 150710
* Remove the YMM_HI_6_15 hack.Jakob Stoklund Olesen2012-02-161-7/+0
| | | | | | | | | Call clobbers are now represented with register mask operands. The regmask can easily represent the fact that xmm6 is call-preserved while ymm6 isn't. This is automatically computed by TableGen from the CalleeSavedRegs containing xmm6. llvm-svn: 150709
* Use the same CALL instructions for Windows as for everything else.Jakob Stoklund Olesen2012-02-169-87/+32
| | | | | | | The different calling conventions and call-preserved registers are represented with regmask operands that are added dynamically. llvm-svn: 150708
* If code completion patterns are not enabled, use simpler else/else ifDouglas Gregor2012-02-162-13/+21
| | | | | | completions that don't insert braces. Fixes <rdar://problem/10764168>. llvm-svn: 150707
* Remove trailing whitespace. Add newline.Akira Hatanaka2012-02-161-2/+2
| | | | llvm-svn: 150706
* Add fixits for ARC casting errors for implicit conversions as well. ↵Argyrios Kyrtzidis2012-02-161-16/+86
| | | | | | | | | | rdar://10289283 Also fix the fixit (oh the irony) when it uses CFBridgingRetain/CFBridgingRelease; they are supposed to be calls with the casted expression as parameter, they should not be inserted into the cast like the __bridge keywords. llvm-svn: 150705
* Minor fix to template instantiation, which properly instantiatesDeLesley Hutchins2012-02-162-1/+3
| | | | | | dependent attributes on static members of templatized classes. llvm-svn: 150704
* Disable machine copy propagation for now. It's known to be buggy (PR11940) ↵Benjamin Kramer2012-02-162-2/+2
| | | | | | and introduces subtle miscompiles in many places. llvm-svn: 150703
* Thread safety analysis: Don't check for lockable on undefined types.DeLesley Hutchins2012-02-161-0/+3
| | | | llvm-svn: 150702
* Thread-safety analysis: Disable checking inside constructors, destructors, ↵DeLesley Hutchins2012-02-162-10/+45
| | | | | | lock, and unlock functions llvm-svn: 150701
* Thread-Safety: added support for 'this' as a lock expression.DeLesley Hutchins2012-02-162-3/+37
| | | | llvm-svn: 150700
* AddressSanitizer: revert r150683 - we can't get rid of headers that easilyAlexey Samsonov2012-02-162-12/+12
| | | | llvm-svn: 150699
* Allow thread safety attributes on function definitions.DeLesley Hutchins2012-02-1610-19/+264
| | | | | | | | For compatibility with gcc, clang will now parse gcc attributes on function definitions, but issue a warning if the attribute is not a thread safety attribute. Warning controlled by -Wgcc-compat. llvm-svn: 150698
* Format string analysis: give 'q' its own enumerator.Hans Wennborg2012-02-166-8/+25
| | | | | | | | | This is in preparation for being able to warn about 'q' and other non-standard format string features. It also allows us to print its name correctly. llvm-svn: 150697
* Tweak link order on Solaris so that global ctors work.David Chisnall2012-02-161-1/+1
| | | | llvm-svn: 150696
* Revert "InstSimplify: Strip pointer casts early."Benjamin Kramer2012-02-161-6/+5
| | | | | | | Turns out this isn't safe, because the code below depends on LHS and RHS having the same type. llvm-svn: 150695
* InstSimplify: Strip pointer casts early.Benjamin Kramer2012-02-161-5/+6
| | | | llvm-svn: 150694
* Revert "CodeGeneration: Implement ceild/floord exactly as CLooG does"Tobias Grosser2012-02-161-31/+13
| | | | | | | I think I did not get the implementation right. As the current implementation works well, we will just stick with it for now. llvm-svn: 150691
* InstSimplify: Ignore pointer casts when constant folding compares between ↵Benjamin Kramer2012-02-162-2/+25
| | | | | | pointers. llvm-svn: 150690
* [asan] Allocator tweaks for low memory systems.Evgeniy Stepanov2012-02-164-5/+30
| | | | llvm-svn: 150689
* Proper checking of list-initializers for array new expressions.Sebastian Redl2012-02-162-9/+45
| | | | | | This finishes generalized initializer support in Sema. llvm-svn: 150688
* Revert "Revert "Make CXXNewExpr contain only a single initialier, and not ↵Sebastian Redl2012-02-1618-321/+308
| | | | | | | | hold the used constructor itself."" This reintroduces commit r150682 with a fix for the Bullet benchmark crash. llvm-svn: 150685
* Revert "Make CXXNewExpr contain only a single initialier, and not hold the ↵Sebastian Redl2012-02-1617-279/+321
| | | | | | | | | | used constructor itself." It leads to a compiler crash in the Bullet benchmark. This reverts commit r12014. llvm-svn: 150684
OpenPOWER on IntegriCloud