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
|