aboutsummaryrefslogtreecommitdiff
path: root/test/CodeGenCXX/virt.cpp
AgeCommit message (Collapse)Author
2009-11-13More VTT and constructor vtable testcases from recent work.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88710 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-13Add more testcase for construction vtables and VTTs.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88702 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-13Add some more VTT testcases.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88699 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-13Add a testcase for the recent VTT work.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88681 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-13This falls into the category of stupid pet tricks. I hate to do this,Mike Stump
but this is necessary to continue work on virtual vtables. We don't want to penalize virtual table building testcases, just because complex virtual conversions don't yet work. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88676 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-09Unify the codepaths used to verify base and member initializers for explicitlyEli Friedman
and implicitly defined constructors. This has a number of benefits: 1. Less code. 2. Explicit and implicit constructors get the same diagnostics. 3. The AST explicitly contains constructor calls from implicit default constructors. This allows handing some cases that previously weren't handled correctly in IRGen without any additional code. Specifically, implicit default constructors containing calls to constructors with default arguments are now handled correctly. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86500 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-08Remove RUN: true lines.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86432 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-08Eliminate &&s in tests.Daniel Dunbar
- 'for i in $(find . -type f); do sed -e 's#\(RUN:.*[^ ]\) *&& *$#\1#g' $i | FileUpdate $i; done', for the curious. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86430 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-06Refine the non-virtual this adjustment. Optimize out virtual thisMike Stump
adjustments of zero. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86300 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-06Refine the vcall for a function that is defined in a virtual baseMike Stump
class that is overridden in a base that isn't morally virtual. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86217 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-06Convert file over to checking the .ll file for codegen. Also, weMike Stump
speed up this file by not doing twice the checking. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86205 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-05Refine covariant return value adjustments for thunks when nullMike Stump
pointers are returned. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86120 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-05Testcase for a recent checkin.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86118 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-05Update.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86117 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-04this test has started failing due to an optimizer change. Clang testsChris Lattner
should only look at -O0 IR output not -O3 assembly output. XFAIL it for now. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86029 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-04Split out return adjustments in thunks from this adjustment in thunksMike Stump
so the optimizer can tailcall into the return value adjustment thunk. This improves codesize for complex hierarchies. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85988 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-03vtable testcase for recent work on vcall/vbase offsets.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85925 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-03Refine codegen for covariant thunks that return references.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85916 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-03Refine return value adjustments for thunks.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85905 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-31Refine vcall/vbase ordering with vtable construction.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85677 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-28Finish off pure virtual function handling.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85354 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-14Testcase for recent checkin. WIP.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84123 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-13Refine handling for return value conversions with respect to virtualMike Stump
offsets for covariant thunks. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83965 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-29Fix http://llvm.org/PR5090.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83035 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-09Remove tabs, and whitespace cleanups.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81346 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-07Refine vcall offsets. Cleanups. WIP.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81143 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-01Testcase for recent checkin.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80725 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-28iGenerate vcalls as we build up the methods. WIP.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80405 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-27Testcase for an almost recent checkin.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80189 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-26Fixup codegen for static dispatch to a virtual function that wasMike Stump
almost correct. :-) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80181 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-26Implement virtual dispatch. :-) This is self-consistent with clang,Mike Stump
but not yet necessarily perfectly consistent with gcc. Also addressed Doug and John's comments. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80137 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-26Revert r80064 since it broke the build.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80066 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-26Implement virtual dispatch. :-) This is self-consistent with clang, but ↵Mike Stump
not yet necessarily perfectly consistent with gcc. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80064 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-21Testcase for a recent checkin.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79646 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-21Fix typo.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79632 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-21We now support overriding base functions in vtables. WIP.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79587 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-20Refine vbase offsets for the inductive case. Things are now startingMike Stump
to come together nicely. Still a WIP. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79521 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-20Ensure we don't output repeated vbase offsets. I have a testcase forMike Stump
this, but need to fixup the actual offset value before I can check it in. WIP. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79506 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-19Update for recent improvements.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79421 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-19Restore vbase offsets for classes without a primary.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79402 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-19Refine vcalls a little.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79400 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-16Refine vbase offset calculations. WIP.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79198 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-16Use the -NEXT feature of FileCheck.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79166 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-16Cleanups and fixups for calculating the virtual base offsets. WIP.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79156 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-14Testcase for a recent checkin.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78974 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-14Testcase for recent checkin.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78973 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-14Testcase for a recent checkin.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78972 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-13Add testcase for recent work.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78959 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-13Refine vtable layout for virtual bases and keep better track ofMike Stump
primaries. WIP. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78950 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-13Refine virtual base layout. WIP.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78873 91177308-0d34-0410-b5e6-96231b3b80d8