History log of /external/clang/test/CodeGenCXX/vtable-layout.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
e825cd0a910bbf3dd1ff13d34a159f96dc2ea8c8 05-Jun-2013 Timur Iskhodzhanov <timurrrr@google.com> ... and actually run it

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@183309 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
d38dda9130a1bf6f8727b2ca5cf153ffdbfcf580 05-Jun-2013 Timur Iskhodzhanov <timurrrr@google.com> Add a test for the breakage from r183298

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@183308 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
4c44d2f5c5953cbd6772638e9d06bfa26ae31f41 05-Jun-2013 Timur Iskhodzhanov <timurrrr@google.com> Unrevert the tests from r183298 as they pass with both old and new code

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@183306 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
d38a21f5888dd3940739e27f2d309a112d6f3790 05-Jun-2013 Timur Iskhodzhanov <timurrrr@google.com> Revert r183298 and r183300 as the former broke the virtual function lookup in libcxx __locale

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@183305 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
f19759ea386d0576a7a0e250cedccc33ed560bf5 05-Jun-2013 Timur Iskhodzhanov <timurrrr@google.com> Get rid of VTableContext::ComputeMethodVTableIndices() and VTableContext::getNumVirtualFunctionPointers(); also add some tests for the VTable indices output to make sure we don't regress

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@183298 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
d954ab47c681b8afc94bc3accbee708a05e6768e 16-Oct-2012 David Blaikie <dblaikie@gmail.com> Note deleted functions when dumping vtables.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166056 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
260a3e4370a15bc3da9d2d9461b6f179c68dd348 21-Mar-2012 John McCall <rjmccall@apple.com> For the annals of subtle but terrible bugs: fix a longstanding bug
in vtable layout where virtual methods inherited from virtual bases
could be assigned the same vcall adjustment slot if they shared
a name and parameter signature but differed in their
cv-qualification. The code was already trying to handle this
case, but unfortunately used the ordinary type qualifiers
(which are always empty here) instead of the method qualifiers.
This seems like something that the API should discourage, but
I don't know how to carry that principle out in this instance.

Eliminate this function's need for an ASTContext while we're at it.

This bug affects the ABI, and fixing it brings us into accord with
the Itanium ABI (and GCC's implementation of it), but, obviously,
technically breaks full compatibility with previous releases of Clang.
Just letting you know.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153168 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
b8bced0b75fa4188c91753d5a1de6d164af45450 10-Apr-2011 Anders Carlsson <andersca@mac.com> Change CollectPrimaryBases to collect the bases in the right order. Fixes one half of PR9660.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129252 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
0c42bb653dc40b1caae010618831e320af824b18 05-Sep-2010 Chris Lattner <sabre@nondot.org> 'const std::type_info*' instead of 'std::type_info const*'



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113092 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
6fb745bdf1ff1e32caf07e42093a7920726892c1 13-May-2010 Douglas Gregor <dgregor@apple.com> Rework when and how vtables are emitted, by tracking where vtables are
"used" (e.g., we will refer to the vtable in the generated code) and
when they are defined (i.e., because we've seen the key function
definition). Previously, we were effectively tracking "potential
definitions" rather than uses, so we were a bit too eager about emitting
vtables for classes without key functions.

The new scheme:
- For every use of a vtable, Sema calls MarkVTableUsed() to indicate
the use. For example, this occurs when calling a virtual member
function of the class, defining a constructor of that class type,
dynamic_cast'ing from that type to a derived class, casting
to/through a virtual base class, etc.
- For every definition of a vtable, Sema calls MarkVTableUsed() to
indicate the definition. This happens at the end of the translation
unit for classes whose key function has been defined (so we can
delay computation of the key function; see PR6564), and will also
occur with explicit template instantiation definitions.
- For every vtable defined/used, we mark all of the virtual member
functions of that vtable as defined/used, unless we know that the key
function is in another translation unit. This instantiates virtual
member functions when needed.
- At the end of the translation unit, Sema tells CodeGen (via the
ASTConsumer) which vtables must be defined (CodeGen will define
them) and which may be used (for which CodeGen will define the
vtables lazily).

From a language perspective, both the old and the new schemes are
permissible: we're allowed to instantiate virtual member functions
whenever we want per the standard. However, all other C++ compilers
were more lazy than we were, and our eagerness was both a performance
issue (we instantiated too much) and a portability problem (we broke
Boost test cases, which now pass).

Notes:
(1) There's a ton of churn in the tests, because the order in which
vtables get emitted to IR has changed. I've tried to isolate some of
the larger tests from these issues.
(2) Some diagnostics related to
implicitly-instantiated/implicitly-defined virtual member functions
have moved to the point of first use/definition. It's better this
way.
(3) I could use a review of the places where we MarkVTableUsed, to
see if I missed any place where the language effectively requires a
vtable.

Fixes PR7114 and PR6564.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103718 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
fbf05613db16a521ce124391388891c488c47a0c 17-Apr-2010 Anders Carlsson <andersca@mac.com> Fix a bug where we would sometimes incorrectly mark an vtable function as unused.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101643 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
97913576dbe624971bf18726899983d211d742c0 15-Apr-2010 Anders Carlsson <andersca@mac.com> Split adding the primary virtual base offsets out into a separate pass. This fixes a bug where we would lay out virtual bases in the wrong order.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101373 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
69c05d504619f9ab2c860017eee4fd483b886698 12-Apr-2010 Nick Lewycky <nicholas@mxc.ca> Typo.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101015 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
73e6fa00ff7aa3be32b1cfc8790761a4db716bb0 12-Apr-2010 Anders Carlsson <andersca@mac.com> Fix another bug where we wouldn't generate secondary vtables for construction vtables in some cases.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100998 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
af6ddf20711ccc6824545a5ac901d4fe3e462c3d 11-Apr-2010 Anders Carlsson <andersca@mac.com> Fix a bug where we were adding too many vcall offsets in some cases.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100985 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
573021fc10d0668a9d59888bdfc259e3a304b405 10-Apr-2010 Anders Carlsson <andersca@mac.com> Fix another vbase layout bug.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100952 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
f622b450d722b2954572e6ba04e1cdf18a21a41f 10-Apr-2010 Anders Carlsson <andersca@mac.com> Fix a bug where we would add the same function twice in a vtable.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100949 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
bdda6c1788dfdb890e1eccd13b949b1cc875eeaa 10-Apr-2010 Anders Carlsson <andersca@mac.com> Simplify the virtual base layout code and fix a bug where we wouldn't store the offset for a virtual base.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100940 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
adb507df13aeb2334eddef64e6bbdf41a44dc5b1 29-Mar-2010 Anders Carlsson <andersca@mac.com> Another vtable layout fix, making us match gcc better.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99812 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
014a358058fab46a84718b1424e40ad5a8068827 25-Mar-2010 Anders Carlsson <andersca@mac.com> Don't add address points for virtual primary bases that aren't primary bases in the complete class.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99555 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
9135a84d8e2c835d8b39c92eb15e8e9034b80bad 18-Mar-2010 Anders Carlsson <andersca@mac.com> When dumping vtables, also dump the thunks.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98799 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
127e46727ed39703a7baa3218d2681082d931c92 11-Mar-2010 Anders Carlsson <andersca@mac.com> Add a test.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98246 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
2bc1d3a3b71564dc2909420abdd58aaf35191de2 10-Mar-2010 Anders Carlsson <andersca@mac.com> Fix calculation of whether a member function needs a thunk in construction vtables.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98191 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
a96a2e961a3bce0ad2fc44a115ac949a481d42db 10-Mar-2010 Anders Carlsson <andersca@mac.com> We were mistakenly marking morally virtual bases as being uninteresting. Fix this.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98180 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
f2c98ce9819cb7688a86e308f82ee896694a10e5 10-Mar-2010 Anders Carlsson <andersca@mac.com> Ignore non-interesting bases when emitting construction vtables.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98177 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
e35b768ac4c8c5756e5ecf950153cea03faf4505 10-Mar-2010 Anders Carlsson <andersca@mac.com> Add newline.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98140 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
6039661c20eb6345c9d7dc1abd644183ebc91063 10-Mar-2010 Anders Carlsson <andersca@mac.com> Don't accidentally mark some functions in construction vtables as unused. Also land the test for a previous checkin, now that it's correct.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98139 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
ce57dd5f9ff5bd6cebe3c94ae48eaf166ea50a23 03-Mar-2010 Anders Carlsson <andersca@mac.com> Fix a bug with base offset merging that Devang noticed.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97641 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
dad0f9918a1860cc1a9926d46cd0fb5d2abf174d 28-Feb-2010 Anders Carlsson <andersca@mac.com> Handle unused functions in construction vtables correctly.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97406 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
0378bf0840335c6d56b2f1b51079522054f7da4f 28-Feb-2010 Anders Carlsson <andersca@mac.com> When laying out vtables for virtual bases in construction vtables, we need to check if the vtable is a primary base in the layout class.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97402 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
293126becf78ef56bfaa446385af8a368eb8d1c2 28-Feb-2010 Anders Carlsson <andersca@mac.com> Add another construction vtable test.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97401 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
530c40c516427112f76a88958bf7c17769b5ca12 28-Feb-2010 Anders Carlsson <andersca@mac.com> More improvements to construction vtables; we know handle vbase offsets correctly (I hope).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97361 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
0041a649338112e388df64c39d45849ce48dfe3f 27-Feb-2010 Anders Carlsson <andersca@mac.com> Add a simple construction vtable test.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97344 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
6a8c5b2bc266902a3d1138122ef25cbe10e1687b 27-Feb-2010 Anders Carlsson <andersca@mac.com> Use the real base offset when calculating vbase offsets.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97338 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
8bc68f7a29f94446852f4d709115a7f4e6765f7a 27-Feb-2010 Anders Carlsson <andersca@mac.com> Don't add this adjustments for pure virtual member functions.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97334 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
3504475548ce6aab989553c2a38391a34fc7fddc 27-Feb-2010 Anders Carlsson <andersca@mac.com> Add another test.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97329 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
2ef9d6bbd3ae2cf53318bb8fabc4fa6cc0743aff 27-Feb-2010 Anders Carlsson <andersca@mac.com> Finish up the changes to this adjustments.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97328 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
c784ba21ba14f4cf65fc6fa2e3548c4775819921 27-Feb-2010 Anders Carlsson <andersca@mac.com> Fix another vtable layout bug; we weren't looking hard enough for overriden functions when determining if an overrider will ever be used.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97306 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
5560969d73e3e72747972d0f0f37ca4e3b042186 27-Feb-2010 Anders Carlsson <andersca@mac.com> Handle vcall offset sharing between destructors.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97304 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
08c26752efa51fb5dc47bd3382ea21814bd0c5b8 27-Feb-2010 Anders Carlsson <andersca@mac.com> Fix a bug where we were generating an unnecessary vtable for a virtual base that's already a primary virtual base.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97303 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
bf554f63bffa7db32b5f343f6fd075501b97d401 25-Feb-2010 Anders Carlsson <andersca@mac.com> Fux a bug where we were trying to add overriders for non-virtual bases of virtual bases more than once.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97173 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
af280c03a515b39b4b2c8e221068b3ed6a692cab 23-Feb-2010 Anders Carlsson <andersca@mac.com> More fixes. Don't try to emit a virtual base vtable if the virtual base in question is a primary virtual base of some other base.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96881 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
92f54325673f2708d911ae3d8a95d77e21b06e37 23-Feb-2010 Anders Carlsson <andersca@mac.com> Always emit vcall offset for the primary base, not only if it's virtual. Remove a debug printf, and add the test case that now passes.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96880 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
69dc04e94872616cebbdd8215d1f5036a8add3f7 16-Feb-2010 Anders Carlsson <andersca@mac.com> Handle layout of vtables for virtual bases.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96355 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
c7b631682f66b5d6144968cf75d3af895b611fc6 16-Feb-2010 Anders Carlsson <andersca@mac.com> Fix a bug where we would not emit secondary vtables for bases of a primary base.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96351 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
852213e54a1b2c2246776b4bb4e9527d70c98807 16-Feb-2010 Anders Carlsson <andersca@mac.com> Emit vbase offsets.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96329 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
b828afa89a3d50c4370199a7c6c04facfd843b47 14-Feb-2010 Anders Carlsson <andersca@mac.com> Don't compute final overriders or build vtables for bases that don't need a vtable.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96171 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
e67dc3072522570207a16724ea459f81a58e4621 14-Feb-2010 Anders Carlsson <andersca@mac.com> Improve support for non-virtual 'this' pointer adjustments. With this, it should be possible to use the new vtable layout code for all class hierarchies that do not involve virtual bases.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96137 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
49bac9a2ea08961b6de77c9a08ed77fbbb7f5a1a 14-Feb-2010 Anders Carlsson <andersca@mac.com> Add basic support for simple non-virtual 'this' pointer adjustments.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96136 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
76f1aa7658c34532785e6f44c99af65f3e4bd194 13-Feb-2010 Anders Carlsson <andersca@mac.com> Start laying out secondary vtables.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96123 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
1d05be51b09ae1ce65b1ecd6220bade12908586d 13-Feb-2010 Anders Carlsson <andersca@mac.com> Don't make return adjustments for pure virtual member functions.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96120 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
60db0ee2c1d91ea86b04b5e448810ba418058180 13-Feb-2010 Anders Carlsson <andersca@mac.com> Handle virtual bases in return adjustment types.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96119 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
7dbf47adb8b8ca84484fae0861ffb2f1eaf44011 13-Feb-2010 Anders Carlsson <andersca@mac.com> More work on covariant return types. We now handle non-virtual adjustments fine.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96114 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
28cbc8b512db420748601dba276144d729a0d7a2 12-Feb-2010 Anders Carlsson <andersca@mac.com> Keep track of the address points for all primary bases, and add the ability to dump multiple address points for a single offset.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95970 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
96058953c72355efb266abe8e333db4f5715dbd2 12-Feb-2010 John McCall <rjmccall@apple.com> Fix a bug causing an assertion when a covariant return type differed from
an overriden type only by reduced qualification.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95968 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
57071e29bdb65d21f72e221f2a16f24f6bea72f3 12-Feb-2010 Anders Carlsson <andersca@mac.com> More work on vtable layout. We can now layout vtables with primary bases.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95965 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
982414266cbfbb3f2784c6b42f008532336ea64c 12-Feb-2010 Anders Carlsson <andersca@mac.com> When dumping vtables, dump whether a virtual member function is pure or not.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95963 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
bac727110b58f2e9dc28581d6870843e71ae9b8f 11-Feb-2010 Anders Carlsson <andersca@mac.com> Add virtual operator= example.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95888 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
848fa64143fbe5ae62a601ad61277f741e54dfab 11-Feb-2010 Anders Carlsson <andersca@mac.com> More vtable layout dumper improvements. Handle destructors, dump the complete function type of the member functions (using PredefinedExpr::ComputeName.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95887 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
822307bbb12bc1025910d6387b79723087d27d9f 11-Feb-2010 Anders Carlsson <andersca@mac.com> Keep track of, and dump, vtable address points.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95874 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp
824d7ea07a4e9208925daa6ae9289fb2b39bce9f 11-Feb-2010 Anders Carlsson <andersca@mac.com> Check in the beginnings of my new vtable layout builder idea.

Right now, it's off by default but can be tested by passing -fdump-vtable-layouts to clang -cc1. This option will cause all vtables that will normally be emitted as part of codegen to also be dumped using the new layout code.

I've also added a very simple new vtable layout test case.




git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95865 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/vtable-layout.cpp