[cfe-commits] [PATCH] Abstract v-table generation into the CGCXXABI interface

John McCall rjmccall at apple.com
Thu Oct 4 10:57:12 PDT 2012


On Oct 4, 2012, at 6:09 AM, Timur Iskhodzhanov wrote:
> [and now to the new Charles's address]
> 
> On Thu, Oct 4, 2012 at 5:07 PM, Timur Iskhodzhanov <timurrrr at google.com> wrote:
>> Actually, looking at the patch more closely now I don't get its idea at all.
>> 
>> Charles have added a EmitVTables virtual function to the CGCXXABI
>> interface which does sound like a reasonable move at first.
>> 
>> However, the ItaniumCXXABI implementation:
>>  void ItaniumCXXABI::EmitVTables(const CXXRecordDecl *Class) {
>>    CGM.getVTables().GenerateClassData(CGM.getVTableLinkage(Class), Class);
>>  }
>> calls non-abstract CGM member's method.
>> I'm pretty sure the MicrosoftCXXABI::EmitVTables implementation should
>> be the same (then why do we need virtual EmitVTables at all?)
>> and that the abstraction should be done at a different level -
>> VTableBuilder? VTableContext? [see a new thread in your inbox soon]
>> 
>> What was the idea?

IIRC, this was an intermediate step, with the expectation that we'd need to
move a lot of code around to support MS correctly.

John.



More information about the cfe-commits mailing list