[PATCH] Add MicrosoftVFTableContext to AST

John McCall rjmccall at apple.com
Tue Jul 30 10:00:21 PDT 2013


On Jul 30, 2013, at 9:57 AM, Timur Iskhodzhanov <timurrrr at google.com> wrote:
> 2013/7/30 John McCall <rjmccall at apple.com>:
>> How so?  Itanium’s v-tables are still logically broken up into separate
>> components, such that an access through any one v-table pointer only
>> ever accesses a particular component.
> 
> Yes
> 
>> You could very easily change
>> Itanium to allocate all the v-tables in separate symbols without any need
>> to change the code for virtual calls.  It’s just that Itanium is trying to
>> optimize the number of separate symbols required.
> 
> Yes
> 
> But still it does affect the vcall mechanism in some sense - for
> example, the covariant-return overrider might require you to use a
> vbase's vptr to call a method defined in the derived object, which is
> different from the Itanium ABI. Not sure if it belongs to that clause
> though.

Not really, and as we’ve discussed that’s really just an ABI bug. :)

That bug’ll be fun to diagnose.  Are you planning to work on it?

John.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20130730/09103b73/attachment.html>


More information about the cfe-commits mailing list