summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix the same speling error in the test case (Duh).Anders Carlsson2009-05-141-1/+1
| | | | llvm-svn: 71793
* Link FunctionDecls instantiated from the member functions of a classDouglas Gregor2009-05-146-10/+107
| | | | | | | | template to the FunctionDecls from which they were instantiated. This is a necessary first step to support instantiation of the definitions of such functions, but by itself does essentially nothing. llvm-svn: 71792
* Fix a speling error.Anders Carlsson2009-05-141-1/+1
| | | | llvm-svn: 71791
* updated comments.Fariborz Jahanian2009-05-141-3/+2
| | | | llvm-svn: 71790
* Operation EnhancementsDavid Greene2009-05-146-165/+751
| | | | | | | | | | | Create an OpInit class to serve as a base for all operation Inits. Move parsing of operation constructs to separate functions and reference from multiple places. Add some commented out new operations. Coming soon. llvm-svn: 71789
* Adds recognition of sentinel attribute on block declarations.Fariborz Jahanian2009-05-144-5/+40
| | | | llvm-svn: 71788
* Fix PR4207.David Greene2009-05-141-2/+6
| | | | | | | If we're resolving a list element access and we're given a VarInit, return a new VarListElementInit referencing the VarInit. llvm-svn: 71787
* Better diagnostics for covariance when checking overriding return types.Anders Carlsson2009-05-143-7/+164
| | | | llvm-svn: 71786
* Down with static variables!Owen Anderson2009-05-141-4/+8
| | | | | | Part one of many. llvm-svn: 71785
* Tag blocks with DW_AT_APPLE_block.Mike Stump2009-05-141-0/+7
| | | | llvm-svn: 71784
* Reuse existing getUnderlyingObject instead ofDale Johannesen2009-05-141-24/+6
| | | | | | adding another copy. llvm-svn: 71783
* Non-functionality changes:Bill Wendling2009-05-142-123/+125
| | | | | | | | - Reformatting. - Use while() instead of do-while(). - Move simple constructors into .h file. llvm-svn: 71782
* Clean up this file fixing 80-column violations, bad formatting, etc. No ↵Bill Wendling2009-05-141-60/+69
| | | | | | functionality change. llvm-svn: 71781
* When there are any member new operators, global versions aren't looked up at ↵Sebastian Redl2009-05-142-4/+4
| | | | | | all. llvm-svn: 71780
* Revert r71744. I must not have understood this correctly, because theBob Wilson2009-05-141-4/+9
| | | | | | assertion is failing for some tests. llvm-svn: 71779
* Diagnose missing sentinel argument on a funciton callFariborz Jahanian2009-05-143-19/+71
| | | | | | with sentinel attribute. llvm-svn: 71778
* Avoid generating temp in source directoryDaniel Dunbar2009-05-141-1/+1
| | | | llvm-svn: 71776
* Use abs64 in one more place.Dale Johannesen2009-05-141-1/+1
| | | | llvm-svn: 71775
* Skip the asm prefix when storing the name in block info.Daniel Dunbar2009-05-142-3/+16
| | | | | | | | | | | - Otherwise we emit internal names with embedded '\01' characters, which confuses some tools. - Ideally all the code which wants to get a "display name" for the given function should follow one code path, but this should be a monotonic improvement for now. llvm-svn: 71774
* In C++, warn when something previously declared as a "struct" is laterDouglas Gregor2009-05-146-39/+69
| | | | | | | declared as a "class", or vice-versa. This warning is under the control of -Wmismatched-tags, which is off by default. llvm-svn: 71773
* Add forward declaration of Token. Thanks to Martin Doucha for pointing this outDouglas Gregor2009-05-141-0/+1
| | | | llvm-svn: 71772
* clean up line-wrappingJim Grosbach2009-05-141-4/+4
| | | | llvm-svn: 71771
* Add an Atomic.h to the System library, for providing a platform independent APIOwen Anderson2009-05-141-0/+45
| | | | | | | | | | to low-level sync operations. The only one present at the moment is MemoryFence(), and only for the platforms for which I could easily discern the proper way to do it. If your favorite platform isn't represented, patches are welcome! llvm-svn: 71770
* Fix for PR4124. Make TwoAddressFormPass::FindLastUseInMBB return the real ↵Lang Hames2009-05-141-2/+5
| | | | | | last use. llvm-svn: 71769
* Enhance debug information for block literals. Radar 6867696Mike Stump2009-05-142-2/+135
| | | | llvm-svn: 71763
* We need to specify the "linkage name" to the subprogram now that weDaniel Dunbar2009-05-142-2/+9
| | | | | | | emit the correct "display name". I suspect we need more work here, see FIXME for example. llvm-svn: 71761
* Add return type checking for overriding virtual functions. We currently ↵Anders Carlsson2009-05-145-4/+78
| | | | | | don't check covariance but that's next. llvm-svn: 71759
* Update the names of the exception handling sjlj instrinsics toJim Grosbach2009-05-146-16/+44
| | | | | | | | | llvm.eh.sjlj.* for better clarity as to their purpose and scope. Add a description of llvm.eh.sjlj.setjmp to ExceptionHandling.html. (llvm.eh.sjlj.longjmp documentation coming when that implementation is added). llvm-svn: 71758
* Add an assert to turn a segfault on an unsupported inlineDan Gohman2009-05-141-0/+2
| | | | | | asm construct into an assertion failure. llvm-svn: 71757
* Implement explicit instantiations of member classes of class templates, e.g.,Douglas Gregor2009-05-1415-28/+231
| | | | | | | | | | | | | | | | | | | | | | | | | template<typename T> struct X { struct Inner; }; template struct X<int>::Inner; This change is larger than it looks because it also fixes some a problem with nested-name-specifiers and tags. We weren't requiring the DeclContext associated with the scope specifier of a tag to be complete. Therefore, when looking for something like "struct X<int>::Inner", we weren't instantiating X<int>. This, naturally, uncovered a problem with member pointers, where we were requiring the left-hand side of a member pointer access expression (e.g., x->*) to be a complete type. However, this is wrong: the semantics of this expression does not require a complete type (EDG agrees). Stuart vouched for me. Blame him. llvm-svn: 71756
* Add dumping support for DW_AT_APPLE_isa and DW_AT_APPLE_block.Mike Stump2009-05-141-0/+2
| | | | | | Radar 6867696 llvm-svn: 71750
* There's yet more ugliness (surprise!) in DebugInfo. This needs major reworking.Bill Wendling2009-05-131-21/+30
| | | | | | | Basically, there was a situation where it was getting an empty vector and doing a .back() on that. Which isn't cool. llvm-svn: 71746
* The IfConverter::MergeBlocks method appears to be used only to merge a basicBob Wilson2009-05-131-9/+4
| | | | | | | | block with its unique predecessor. Change the code to assert if that is not the case, instead of trying to handle situations where the block has multiple predecessors. llvm-svn: 71744
* Removing the HasBuiltinSetjmp flag and associated bits. Flagging the presenceJim Grosbach2009-05-134-20/+1
| | | | | | | | | of exception handling builtin sjlj targets in functions turns out not to be necessary. Marking the intrinsic implementation in the .td file as defining all registers is sufficient to get the context saved properly by the containing function. llvm-svn: 71743
* Revert a portion of Dan's change r71018 that I'm convinced is wrong.Bob Wilson2009-05-131-1/+1
| | | | | | | | | | | | | | | | | | | Dan was trying to catch the case where a basic block ends with a conditional branch to the fall-through block. In this case, all the instructions have been moved out of FromBBI, leaving it empty. It cannot end with a conditional branch. As the existing comment indicates, it will always fall through to the next block. If the block already had the next block (NBB) listed as a successor, the preceding loop has a check for that and does not remove it. Thus, we need to check and add the successor only when it is not already listed. With Dan's change, the empty block often ends up with the fall-through successor listed twice. This exposed the problem in pr4195, where CodePlacementOpt did not handle the same predecessor listed more than once. It is also at least partially responsible for pr4202 and probably a similar issue with Thumb branches being out of range. llvm-svn: 71742
* Merge adjacent conditional.Bob Wilson2009-05-131-2/+0
| | | | llvm-svn: 71741
* Remove an unused variable.Bob Wilson2009-05-131-3/+0
| | | | llvm-svn: 71740
* Fix some typos and spelling and grammar, mostly in comments, but also oneBob Wilson2009-05-131-21/+20
| | | | | | field name. No functional changes. llvm-svn: 71739
* Fix whitespacing (space after switch).Mike Stump2009-05-133-33/+32
| | | | llvm-svn: 71738
* Look for and diagnose missing sentinel argument on messageFariborz Jahanian2009-05-134-2/+88
| | | | | | dispatch arguments which have sentinel attribute. llvm-svn: 71737
* Make sure not to include the LLVM asm prefix in function names forDaniel Dunbar2009-05-132-0/+11
| | | | | | debug info. llvm-svn: 71736
* Spelling correction s/builting/builtin/ and remove trailing whitespace in a ↵Jim Grosbach2009-05-131-10/+10
| | | | | | few places llvm-svn: 71735
* Add nounwind to this test.Dan Gohman2009-05-131-1/+1
| | | | llvm-svn: 71734
* Remove too large testcase.Bill Wendling2009-05-131-3256/+0
| | | | llvm-svn: 71730
* Run code placement optimization for targets that want it (arm and x86 for now).Evan Cheng2009-05-135-0/+17
| | | | llvm-svn: 71726
* Note that clang follows the MSVC definition for #pragma pack.Daniel Dunbar2009-05-131-0/+5
| | | | llvm-svn: 71725
* Indentation.Evan Cheng2009-05-131-1/+1
| | | | llvm-svn: 71724
* Add a test case to showcase a difference in #pragma pack handlingDaniel Dunbar2009-05-131-0/+34
| | | | | | | | compared to gcc. This is worrisome, but I believe we are doing the "correct" thing, and if I recall correctly I previously verified this versus MSVC. llvm-svn: 71723
* Change MachineInstrBuilder::addReg() to take a flag instead of a list ofBill Wendling2009-05-1321-165/+242
| | | | | | | | | | | | booleans. This gives a better indication of what the "addReg()" is doing. Remembering what all of those booleans mean isn't easy, especially if you aren't spending all of your time in that code. I took Jakob's suggestion and made it illegal to pass in "true" for the flag. This should hopefully prevent any unintended misuse of this (by reverting to the old way of using addReg()). llvm-svn: 71722
* Use an iterator type for found_decls_begin/found_decls_end.Anders Carlsson2009-05-132-4/+5
| | | | llvm-svn: 71721
OpenPOWER on IntegriCloud