summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Tests for the fixits which Doug added in r150727.Richard Smith2012-02-171-0/+2
| | | | llvm-svn: 150777
* Reject continue/break statements within members of local functions nested withinRichard Smith2012-02-177-58/+98
| | | | | | | | | | | | | | | loop and switch statements, by teaching Scope that a function scope never has a continue/break parent for the purposes of control flow. Remove the hack in block and lambda expressions which worked around this by pretending that such expressions were continue/break scopes. Remove Scope::ControlParent, since it's unused. In passing, teach default statements to recover properly from a missing ';', and add a fixit for same to both default and case labels (the latter already recovered correctly). llvm-svn: 150776
* add Emacs tag and fix some comment error in file headersJia Liu2012-02-1729-28/+41
| | | | llvm-svn: 150775
* [fast-isel] Add support for returning non-legal types with no sign- or zero-Chad Rosier2012-02-172-6/+15
| | | | | | entend flag. llvm-svn: 150774
* MachineScheduler shouldn't use/preserve LiveDebugVariables.Lang Hames2012-02-171-4/+0
| | | | llvm-svn: 150773
* Added a new disassembler plugin, DisassemblerLLVMC,Sean Callanan2012-02-173-0/+716
| | | | | | | | | | | | | | | | | | | which uses the Disassembler.h interface to the LLVM disassemblers rather than the EnhancedDisassembly.h interface. Disassembler.h is a better-maintained API and will be stabler in the long term. Currently the output from Disassembler.h does not provide for symbolic disassembly in all the places that the old disassembler did, so I have gated (and disabled) the disassembler. It'll be easy to flip the switch later. In the meantime, to enable the new disassembler, uncomment "#define USE_NEW_DISASSEMBLER" in lldb.cpp. llvm-svn: 150772
* Oops - isRegLiveIntoSuccessor is used in non-assert builds now. Remove ↵Lang Hames2012-02-171-2/+0
| | | | | | NDEBUG guards. llvm-svn: 150771
* PR12012: Fix a regression in r150419 where we would try (and fail) toRichard Smith2012-02-173-0/+25
| | | | | | | zero-initialize class types with virtual bases when constant-evaluating an initializer. llvm-svn: 150770
* Re-enable 150652 and 150654 - Make FPSCR non-reserved, and make MachineCSE ↵Lang Hames2012-02-172-4/+9
| | | | | | bail on reserved registers. This *should* be safe as of r150786. llvm-svn: 150769
* Turn off assertion, conservatively compute liveness for live-in ↵Lang Hames2012-02-171-8/+10
| | | | | | un-allocatable registers. llvm-svn: 150768
* objective-c translator. More stuff for modern meta-data.Fariborz Jahanian2012-02-171-81/+11
| | | | llvm-svn: 150767
* memory read -f X doesn't print anything (lldb should warn when encountering ↵Johnny Chen2012-02-162-1/+6
| | | | | | | | | | an unsupported byte size) Also add a test sequence for it. rdar://problem/10876841 llvm-svn: 150766
* 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
OpenPOWER on IntegriCloud