| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Re-revert the explicit template instantiation linkage patch. I am beginning ↵ | Douglas Gregor | 2010-03-13 | 7 | -25/+25 |
| | | | | | | | to look incompetent llvm-svn: 98425 | ||||
| * | Reinstate patch to turn explicit template instantiations into weak symbols | Douglas Gregor | 2010-03-13 | 7 | -25/+25 |
| | | | | | llvm-svn: 98424 | ||||
| * | Revert the linkage change for explicit template instantiations; something is ↵ | Douglas Gregor | 2010-03-12 | 7 | -25/+25 |
| | | | | | | | amiss llvm-svn: 98332 | ||||
| * | Give explicit template instantiations weak linkage (but don't defer | Douglas Gregor | 2010-03-12 | 7 | -25/+25 |
| | | | | | | | them). Fixes PR6578. llvm-svn: 98328 | ||||
| * | Use -emit-llvm-only, to avoid leaving a temp around. | Daniel Dunbar | 2010-03-11 | 1 | -1/+1 |
| | | | | | llvm-svn: 98267 | ||||
| * | Correctly mangle address of member in template arguments. Fixes PR6460 | Rafael Espindola | 2010-03-11 | 1 | -0/+39 |
| | | | | | llvm-svn: 98254 | ||||
| * | Add a test. | Anders Carlsson | 2010-03-11 | 1 | -0/+7 |
| | | | | | llvm-svn: 98246 | ||||
| * | Fix calculation of whether a member function needs a thunk in construction ↵ | Anders Carlsson | 2010-03-10 | 1 | -0/+59 |
| | | | | | | | vtables. llvm-svn: 98191 | ||||
| * | We were mistakenly marking morally virtual bases as being uninteresting. Fix ↵ | Anders Carlsson | 2010-03-10 | 1 | -0/+67 |
| | | | | | | | this. llvm-svn: 98180 | ||||
| * | Ignore non-interesting bases when emitting construction vtables. | Anders Carlsson | 2010-03-10 | 1 | -0/+60 |
| | | | | | llvm-svn: 98177 | ||||
| * | Move test and also test codegen. | Rafael Espindola | 2010-03-10 | 1 | -0/+31 |
| | | | | | llvm-svn: 98154 | ||||
| * | Add newline. | Anders Carlsson | 2010-03-10 | 1 | -2/+1 |
| | | | | | llvm-svn: 98140 | ||||
| * | Don't accidentally mark some functions in construction vtables as unused. ↵ | Anders Carlsson | 2010-03-10 | 1 | -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 Carlsson | 2010-03-10 | 1 | -0/+123 |
| | | | | | | | the construction vtables from the ABI examples correctly. llvm-svn: 98127 | ||||
| * | Delay codegen of vtables when handling implicit instantiations. | Rafael Espindola | 2010-03-10 | 1 | -5/+5 |
| | | | | | | | This fixes PR6474. llvm-svn: 98123 | ||||
| * | More then one anonymous aggregates on one line creates chaos when MDNode ↵ | Devang Patel | 2010-03-09 | 1 | -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 be | Douglas Gregor | 2010-03-08 | 1 | -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 a | Douglas Gregor | 2010-03-07 | 1 | -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 they | Eli Friedman | 2010-03-07 | 1 | -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. GCC | Douglas Gregor | 2010-03-07 | 1 | -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 it | Fariborz Jahanian | 2010-03-04 | 1 | -0/+27 |
| | | | | | | | ABI conforming. llvm-svn: 97702 | ||||
| * | Implements mangling of local class names to | Fariborz Jahanian | 2010-03-03 | 1 | -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 Carlsson | 2010-03-03 | 1 | -0/+58 |
| | | | | | llvm-svn: 97641 | ||||
| * | Don't emit derived-to-base destructor aliases if we don't have a definition | John McCall | 2010-03-03 | 1 | -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 own | John McCall | 2010-03-01 | 1 | -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 McCall | 2010-03-01 | 1 | -1/+1 |
| | | | | | llvm-svn: 97479 | ||||
| * | Improve name mangling for dependently-scoped declaration references. | Douglas Gregor | 2010-02-28 | 1 | -0/+19 |
| | | | | | llvm-svn: 97422 | ||||
| * | Add name mangling for DeclRefExprs that refer to external names | Douglas Gregor | 2010-02-28 | 1 | -1/+20 |
| | | | | | llvm-svn: 97418 | ||||
| * | Handle unused functions in construction vtables correctly. | Anders Carlsson | 2010-02-28 | 1 | -0/+7 |
| | | | | | llvm-svn: 97406 | ||||
| * | When laying out vtables for virtual bases in construction vtables, we need ↵ | Anders Carlsson | 2010-02-28 | 1 | -7/+14 |
| | | | | | | | to check if the vtable is a primary base in the layout class. llvm-svn: 97402 | ||||
| * | Add another construction vtable test. | Anders Carlsson | 2010-02-28 | 1 | -0/+43 |
| | | | | | llvm-svn: 97401 | ||||
| * | More improvements to construction vtables; we know handle vbase offsets ↵ | Anders Carlsson | 2010-02-28 | 1 | -0/+53 |
| | | | | | | | correctly (I hope). llvm-svn: 97361 | ||||
| * | Add a simple construction vtable test. | Anders Carlsson | 2010-02-27 | 1 | -0/+35 |
| | | | | | llvm-svn: 97344 | ||||
| * | Use the real base offset when calculating vbase offsets. | Anders Carlsson | 2010-02-27 | 1 | -0/+46 |
| | | | | | llvm-svn: 97338 | ||||
| * | Figured out why the test was failing, this will hopefully fix it. | Anders Carlsson | 2010-02-27 | 1 | -1/+0 |
| | | | | | llvm-svn: 97336 | ||||
| * | Don't add this adjustments for pure virtual member functions. | Anders Carlsson | 2010-02-27 | 1 | -1/+34 |
| | | | | | llvm-svn: 97334 | ||||
| * | XFAIL this for now. I have no idea why this test is failing on some ↵ | Anders Carlsson | 2010-02-27 | 1 | -0/+1 |
| | | | | | | | machines. Looks like some sort of whitespace issue in FileCheck. llvm-svn: 97332 | ||||
| * | Add another test. | Anders Carlsson | 2010-02-27 | 1 | -0/+48 |
| | | | | | llvm-svn: 97329 | ||||
| * | Finish up the changes to this adjustments. | Anders Carlsson | 2010-02-27 | 1 | -0/+61 |
| | | | | | llvm-svn: 97328 | ||||
| * | Fix another vtable layout bug; we weren't looking hard enough for overriden ↵ | Anders Carlsson | 2010-02-27 | 1 | -0/+36 |
| | | | | | | | functions when determining if an overrider will ever be used. llvm-svn: 97306 | ||||
| * | Handle vcall offset sharing between destructors. | Anders Carlsson | 2010-02-27 | 1 | -0/+40 |
| | | | | | llvm-svn: 97304 | ||||
| * | Fix a bug where we were generating an unnecessary vtable for a virtual base ↵ | Anders Carlsson | 2010-02-27 | 1 | -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 Carlsson | 2010-02-25 | 1 | -0/+29 |
| | | | | | | | virtual bases more than once. llvm-svn: 97173 | ||||
| * | Generate correct vcall offsets when we have a primary virtual base that is ↵ | Anders Carlsson | 2010-02-24 | 1 | -0/+32 |
| | | | | | | | not a primary base in the complete class hierarchy. llvm-svn: 97039 | ||||
| * | PR6400: Handle an extreme edge case in mangling correctly. | Eli Friedman | 2010-02-23 | 1 | -0/+6 |
| | | | | | llvm-svn: 96961 | ||||
| * | More fixes. Don't try to emit a virtual base vtable if the virtual base in ↵ | Anders Carlsson | 2010-02-23 | 1 | -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 Carlsson | 2010-02-23 | 1 | -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 McCall | 2010-02-23 | 5 | -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 McCall | 2010-02-19 | 1 | -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 Carlsson | 2010-02-19 | 1 | -0/+49 |
| | | | | | llvm-svn: 96659 | ||||

