summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX
Commit message (Collapse)AuthorAgeFilesLines
* Re-revert the explicit template instantiation linkage patch. I am beginning ↵Douglas Gregor2010-03-137-25/+25
| | | | | | to look incompetent llvm-svn: 98425
* Reinstate patch to turn explicit template instantiations into weak symbolsDouglas Gregor2010-03-137-25/+25
| | | | llvm-svn: 98424
* Revert the linkage change for explicit template instantiations; something is ↵Douglas Gregor2010-03-127-25/+25
| | | | | | amiss llvm-svn: 98332
* Give explicit template instantiations weak linkage (but don't deferDouglas Gregor2010-03-127-25/+25
| | | | | | them). Fixes PR6578. llvm-svn: 98328
* Use -emit-llvm-only, to avoid leaving a temp around.Daniel Dunbar2010-03-111-1/+1
| | | | llvm-svn: 98267
* Correctly mangle address of member in template arguments. Fixes PR6460Rafael Espindola2010-03-111-0/+39
| | | | llvm-svn: 98254
* Add a test.Anders Carlsson2010-03-111-0/+7
| | | | llvm-svn: 98246
* Fix calculation of whether a member function needs a thunk in construction ↵Anders Carlsson2010-03-101-0/+59
| | | | | | vtables. llvm-svn: 98191
* We were mistakenly marking morally virtual bases as being uninteresting. Fix ↵Anders Carlsson2010-03-101-0/+67
| | | | | | this. llvm-svn: 98180
* Ignore non-interesting bases when emitting construction vtables.Anders Carlsson2010-03-101-0/+60
| | | | llvm-svn: 98177
* Move test and also test codegen.Rafael Espindola2010-03-101-0/+31
| | | | llvm-svn: 98154
* Add newline.Anders Carlsson2010-03-101-2/+1
| | | | llvm-svn: 98140
* Don't accidentally mark some functions in construction vtables as unused. ↵Anders Carlsson2010-03-101-0/+56
| | | | | | Also land the test for a previous checkin, now that it's correct. llvm-svn: 98139
* Improve vcall offset handling in construction vtables. With this we layout ↵Anders Carlsson2010-03-101-0/+123
| | | | | | the construction vtables from the ABI examples correctly. llvm-svn: 98127
* Delay codegen of vtables when handling implicit instantiations.Rafael Espindola2010-03-101-5/+5
| | | | | | This fixes PR6474. llvm-svn: 98123
* More then one anonymous aggregates on one line creates chaos when MDNode ↵Devang Patel2010-03-091-0/+12
| | | | | | | | uniquness is combined with RAUW operation. Right solution is to avoid using RAUW. This fixes PR 6554. llvm-svn: 98083
* In C++98/03, an uninitialized variable that has POD class type will beDouglas Gregor2010-03-081-3/+3
| | | | | | | | | uninitialized. This seems not to be the case in C++0x, where we still call the (trivial) default constructor for a POD class (!). Previously, we had implemented only the C++0x rules; now we implement both. Fixes PR6536. llvm-svn: 97928
* Perform overload resolution when static_cast'ing from aDouglas Gregor2010-03-071-1/+11
| | | | | | | pointer-to-member-to-derived to a pointer-to-member-to-base. Fixes PR6072. llvm-svn: 97923
* Fix for PR6294: we should only delay recording nested dynamic classes if theyEli Friedman2010-03-071-0/+13
| | | | | | | are lexically nested. Othewise, we never end up recording semantically nested classes. llvm-svn: 97900
* Don't turn off mangling in implicitly extern "C" system headers. GCCDouglas Gregor2010-03-071-0/+4
| | | | | | | | | doesn't do this on any of the major platforms, and we don't really support any of the platforms that do (nor will we actually handle those headers well). Fixes PR6217; see PR6530 for details on what we would need to do to support these platforms. llvm-svn: 97899
* Refactor local class name mangling and make itFariborz Jahanian2010-03-041-0/+27
| | | | | | ABI conforming. llvm-svn: 97702
* Implements mangling of local class names toFariborz Jahanian2010-03-031-0/+30
| | | | | | | | fix a code gen crash. This is WIP as not all ABI cases are covered (there is a FIXME to this effect). Fixes radar 7696748. llvm-svn: 97658
* Fix a bug with base offset merging that Devang noticed.Anders Carlsson2010-03-031-0/+58
| | | | llvm-svn: 97641
* Don't emit derived-to-base destructor aliases if we don't have a definitionJohn McCall2010-03-031-0/+14
| | | | | | | | for the base destructor, because aliases to declarations aren't legal. Fixes PR 6471. llvm-svn: 97637
* Split out types that are non-canonical unless dependent as their ownJohn McCall2010-03-011-1/+39
| | | | | | | | | | | category. Use this in a few places to eliminate unnecessary TST cases and do some future-proofing. Provide terrible manglings for typeof. Mangle decltype with some hope of accuracy. Our manglings for some of the cases covered in the testcase are different from gcc's, which I've raised as an issue with the ABI list. llvm-svn: 97523
* The latest draft uses 'dt' to mangle member expressions, and now so do we.John McCall2010-03-011-1/+1
| | | | llvm-svn: 97479
* Improve name mangling for dependently-scoped declaration references.Douglas Gregor2010-02-281-0/+19
| | | | llvm-svn: 97422
* Add name mangling for DeclRefExprs that refer to external namesDouglas Gregor2010-02-281-1/+20
| | | | llvm-svn: 97418
* Handle unused functions in construction vtables correctly.Anders Carlsson2010-02-281-0/+7
| | | | llvm-svn: 97406
* When laying out vtables for virtual bases in construction vtables, we need ↵Anders Carlsson2010-02-281-7/+14
| | | | | | to check if the vtable is a primary base in the layout class. llvm-svn: 97402
* Add another construction vtable test.Anders Carlsson2010-02-281-0/+43
| | | | llvm-svn: 97401
* More improvements to construction vtables; we know handle vbase offsets ↵Anders Carlsson2010-02-281-0/+53
| | | | | | correctly (I hope). llvm-svn: 97361
* Add a simple construction vtable test.Anders Carlsson2010-02-271-0/+35
| | | | llvm-svn: 97344
* Use the real base offset when calculating vbase offsets.Anders Carlsson2010-02-271-0/+46
| | | | llvm-svn: 97338
* Figured out why the test was failing, this will hopefully fix it.Anders Carlsson2010-02-271-1/+0
| | | | llvm-svn: 97336
* Don't add this adjustments for pure virtual member functions.Anders Carlsson2010-02-271-1/+34
| | | | llvm-svn: 97334
* XFAIL this for now. I have no idea why this test is failing on some ↵Anders Carlsson2010-02-271-0/+1
| | | | | | machines. Looks like some sort of whitespace issue in FileCheck. llvm-svn: 97332
* Add another test.Anders Carlsson2010-02-271-0/+48
| | | | llvm-svn: 97329
* Finish up the changes to this adjustments.Anders Carlsson2010-02-271-0/+61
| | | | llvm-svn: 97328
* Fix another vtable layout bug; we weren't looking hard enough for overriden ↵Anders Carlsson2010-02-271-0/+36
| | | | | | functions when determining if an overrider will ever be used. llvm-svn: 97306
* Handle vcall offset sharing between destructors.Anders Carlsson2010-02-271-0/+40
| | | | llvm-svn: 97304
* Fix a bug where we were generating an unnecessary vtable for a virtual base ↵Anders Carlsson2010-02-271-0/+30
| | | | | | that's already a primary virtual base. llvm-svn: 97303
* Fux a bug where we were trying to add overriders for non-virtual bases of ↵Anders Carlsson2010-02-251-0/+29
| | | | | | virtual bases more than once. llvm-svn: 97173
* Generate correct vcall offsets when we have a primary virtual base that is ↵Anders Carlsson2010-02-241-0/+32
| | | | | | not a primary base in the complete class hierarchy. llvm-svn: 97039
* PR6400: Handle an extreme edge case in mangling correctly.Eli Friedman2010-02-231-0/+6
| | | | llvm-svn: 96961
* More fixes. Don't try to emit a virtual base vtable if the virtual base in ↵Anders Carlsson2010-02-231-0/+29
| | | | | | question is a primary virtual base of some other base. llvm-svn: 96881
* Always emit vcall offset for the primary base, not only if it's virtual. ↵Anders Carlsson2010-02-231-0/+59
| | | | | | Remove a debug printf, and add the test case that now passes. llvm-svn: 96880
* Perform two more constructor/destructor code-size optimizations:John McCall2010-02-235-10/+172
| | | | | | | | | | | | | | | | 1) emit base destructors as aliases to their unique base class destructors under some careful conditions. This is enabled for the same targets that can support complete-to-base aliases, i.e. not darwin. 2) Emit non-variadic complete constructors for classes with no virtual bases as calls to the base constructor. This is enabled on all targets and in theory can trigger in situations that the alias optimization can't (mostly involving virtual bases, mostly not yet supported). These are bundled together because I didn't think it worthwhile to split them, not because they really need to be. llvm-svn: 96842
* More refactoring around constructor/destructor code generation.John McCall2010-02-191-1/+48
| | | | | | | | | | | | Fix some bugs with function-try-blocks and simplify normal try-block code generation. This implementation excludes a deleting destructor's call to operator delete() from the function-try-block, which I believe is correct but which I can't find straightforward support for at a moment's glance. llvm-svn: 96670
* Add another test from the ABI spec.Anders Carlsson2010-02-191-0/+49
| | | | llvm-svn: 96659
OpenPOWER on IntegriCloud