summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGVtable.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Get rid of 'this' adjustments from the FinalOverriders class since they can ↵Anders Carlsson2010-02-241-34/+0
| | | | | | be different for the same overrider in different parts of the vtable. llvm-svn: 97068
* Improve this adjustment pointer calculation.Anders Carlsson2010-02-241-5/+16
| | | | llvm-svn: 97067
* Make ComputeThisAdjustmentBaseOffset public for now.Anders Carlsson2010-02-241-7/+8
| | | | llvm-svn: 97066
* Generate correct vcall offsets when we have a primary virtual base that is ↵Anders Carlsson2010-02-241-7/+29
| | | | | | not a primary base in the complete class hierarchy. llvm-svn: 97039
* Implement IsOverriderUsed. This can't be tested yet due to some other bugs :)Anders Carlsson2010-02-231-1/+46
| | | | llvm-svn: 96897
* Stub out IsOverriderUsed.Anders Carlsson2010-02-231-4/+50
| | | | llvm-svn: 96883
* More fixes. Don't try to emit a virtual base vtable if the virtual base in ↵Anders Carlsson2010-02-231-10/+43
| | | | | | 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-5/+1
| | | | | | Remove a debug printf, and add the test case that now passes. llvm-svn: 96880
* Simplify the vcall offset calculation and make it give the correct answers ↵Anders Carlsson2010-02-231-26/+17
| | | | | | :) My test case now has the right values but in the wrong order. llvm-svn: 96877
* More work on vcall offsets. We now emit the right number of vcall offsets in ↵Anders Carlsson2010-02-231-5/+1
| | | | | | my local test case, but not the right values. llvm-svn: 96874
* Move BaseOffset out of the FinalOverriders class.Anders Carlsson2010-02-231-45/+44
| | | | llvm-svn: 96853
* Change the name of the vtable-debugging environment variable toDouglas Gregor2010-02-221-1/+1
| | | | | | CLANG_VTABLE_DEBUG. llvm-svn: 96785
* Don't use NamedDecl::getNameAsCString() when dealing with C++ methods,Douglas Gregor2010-02-221-13/+13
| | | | | | since they may not have normal identifiers for names. Fixes PR6369. llvm-svn: 96784
* Add the CK_UnusedFunctionPointer component kind for unused function pointers.Anders Carlsson2010-02-191-3/+34
| | | | llvm-svn: 96695
* Dump this-adjustments for destructors as well.Anders Carlsson2010-02-191-10/+27
| | | | llvm-svn: 96660
* Attempt to fix the 32-bit test failures.Anders Carlsson2010-02-181-1/+1
| | | | llvm-svn: 96595
* Fix another bug and add another class.Anders Carlsson2010-02-181-2/+10
| | | | llvm-svn: 96590
* More work on vcall offsets.Anders Carlsson2010-02-181-4/+61
| | | | llvm-svn: 96587
* Start stubbing out vcall offset handling.Anders Carlsson2010-02-181-10/+60
| | | | llvm-svn: 96585
* Store the base offset of the final overrider in the OverriderInfo struct, to ↵Anders Carlsson2010-02-181-1/+6
| | | | | | be used for vcall offsets. llvm-svn: 96582
* Remove some dead code.Anders Carlsson2010-02-181-13/+0
| | | | llvm-svn: 96581
* silence warning in a cleaner wayChris Lattner2010-02-171-2/+1
| | | | llvm-svn: 96520
* Make FinalOverriders handle virtual bases correctly. Unfortunately this ↵Anders Carlsson2010-02-171-3/+33
| | | | | | can't be tested just yet. llvm-svn: 96481
* Handle primary bases in AddVCallOffsets.Anders Carlsson2010-02-171-2/+9
| | | | llvm-svn: 96461
* Silence GCC warning by marking an assert-only variable as unused.Chandler Carruth2010-02-171-1/+1
| | | | llvm-svn: 96459
* First cut at emitting vcall offsets.Anders Carlsson2010-02-171-3/+77
| | | | llvm-svn: 96455
* Pass through whether a base is virtual or not.Anders Carlsson2010-02-171-17/+26
| | | | llvm-svn: 96449
* Correctly calculate base offsets for 'this' pointer adjustments involving ↵Anders Carlsson2010-02-171-3/+40
| | | | | | virtual bases. This can't be tested yet due to lack of vcall offsets :) llvm-svn: 96441
* Handle layout of vtables for virtual bases.Anders Carlsson2010-02-161-1/+41
| | | | llvm-svn: 96355
* Move some code around in preparation for virtual base vtables.Anders Carlsson2010-02-161-9/+18
| | | | llvm-svn: 96354
* Fix a bug where we would not emit secondary vtables for bases of a primary base.Anders Carlsson2010-02-161-12/+29
| | | | llvm-svn: 96351
* Emit vbase offsets.Anders Carlsson2010-02-161-4/+38
| | | | llvm-svn: 96329
* More work on the new layout code.Anders Carlsson2010-02-161-11/+66
| | | | llvm-svn: 96328
* Don't compute final overriders or build vtables for bases that don't need a ↵Anders Carlsson2010-02-141-3/+17
| | | | | | vtable. llvm-svn: 96171
* Build fix.Anders Carlsson2010-02-141-1/+1
| | | | llvm-svn: 96140
* Baby steps towards teaching FinalOverriders about virtual bases.Anders Carlsson2010-02-141-14/+31
| | | | llvm-svn: 96139
* Don't try to layout construction vtables for now.Anders Carlsson2010-02-141-1/+2
| | | | llvm-svn: 96138
* Improve support for non-virtual 'this' pointer adjustments. With this, it ↵Anders Carlsson2010-02-141-27/+41
| | | | | | should be possible to use the new vtable layout code for all class hierarchies that do not involve virtual bases. llvm-svn: 96137
* Add basic support for simple non-virtual 'this' pointer adjustments.Anders Carlsson2010-02-131-5/+85
| | | | llvm-svn: 96136
* Add support for very simple non-virtual this adjustments in the ↵Anders Carlsson2010-02-131-17/+68
| | | | | | FinalOverriders class. llvm-svn: 96133
* Cleanup; remove some duplicated code.Anders Carlsson2010-02-131-96/+4
| | | | llvm-svn: 96131
* Assert if we encounter this adjustments.Anders Carlsson2010-02-131-2/+9
| | | | llvm-svn: 96125
* Start laying out secondary vtables.Anders Carlsson2010-02-131-10/+17
| | | | llvm-svn: 96123
* Merge base offsets and dump them.Anders Carlsson2010-02-131-6/+42
| | | | llvm-svn: 96121
* Don't make return adjustments for pure virtual member functions.Anders Carlsson2010-02-131-5/+8
| | | | llvm-svn: 96120
* Handle virtual bases in return adjustment types.Anders Carlsson2010-02-131-17/+37
| | | | llvm-svn: 96119
* Handle virtual bases in ComputeBaseOffset.Anders Carlsson2010-02-131-10/+27
| | | | llvm-svn: 96117
* More work on covariant return types. We now handle non-virtual adjustments fine.Anders Carlsson2010-02-131-27/+96
| | | | llvm-svn: 96114
* Fix think-o, attributes can't come *within* the type of the variable.Chandler Carruth2010-02-131-1/+1
| | | | llvm-svn: 96099
* Silence unused variable warning in a build without assertions.Chandler Carruth2010-02-131-1/+2
| | | | llvm-svn: 96098
OpenPOWER on IntegriCloud