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

r4start r4start at gmail.com
Fri Jun 15 13:01:53 PDT 2012


On 15/06/2012 23:05, Eli Friedman wrote:
> On Fri, Jun 15, 2012 at 11:49 AM, Charles Davis <cdavis at mymail.mines.edu> wrote:
>> Hi,
>>
>> This patch factors v-table generation into the CGCXXABI class, so that, in the future, the Microsoft C++ ABI can implement its own v-table generation.
>>
>> I also had to move the ItaniumCXXABI class into a header, so that CGRTTI could continue to use the getVTableLinkage() method, which now lives in ItaniumCXXABI. I thought that since CGRTTI is specific to the Itanium ABI anyway, this was OK. I don't know if you would prefer that method continue to belong to CodeGenModule, but I imagine that the Microsoft C++ ABI may have different rules for v-table visibility (which I have yet to work out).
>>
>> OK to commit?
> Do you really need a different implementation of getVTableLinkage for
> the Microsoft ABI?  It doesn't look like it actually does anything
> ABI-specific.
Hi all.
We test some simple example with MS RTTI info and vf-table and we don`t 
have problems with vf-table linkage.
It seems works fine for MS ABI.
But we have other problem. cl places all RTTI info in rdata section, but 
llc place this info in data section so link.exe tell us that we have 
redefinition of RTTI info.
We check linkage types, they are same(if we build obj file with cl or 
clang+llc).
We assume that link.exe can resolve this redefinitions of RTTI info if 
it placed in rdata section.
Can we tell llc place RTTI info in rdata without hacking it?

- Dmitry Sokolov.



More information about the cfe-commits mailing list