On Jul 30, 2013, at 9:57 AM, Timur Iskhodzhanov <[email protected]> wrote:
> 2013/7/30 John McCall <[email protected]>:
>> 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.
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits