-betterC and extern(C++) classes

rikki cattermole via Digitalmars-d digitalmars-d at puremagic.com
Sun Sep 10 02:23:38 PDT 2017


On 10/09/2017 10:03 AM, 9il wrote:
> On Sunday, 10 September 2017 at 08:56:11 UTC, rikki cattermole wrote:
>> On 10/09/2017 9:40 AM, Yuxuan Shui wrote:
>>> I was experimenting with -betterC and found out that C++ classes 
>>> doesn't work. Because the resulting object file needs a symbol 
>>> "_D14TypeInfo_Class6__vtblZ" which is in druntime. I suppose this is 
>>> to support T.classinfo?
>>
>> Nope.
>>
>>> Could we remove T.classinfo and make classes work under -betterC? Or 
>>> is there some other reason preventing this from happening?
>>>
>>> Thanks.
>>
>> Definitely not.
>>
>> Classes require vtable's to work. Vtables are generated as part of 
>> TypeInfo. No TypeInfo, no classes, simple to understand.
>>
> 
> No. vtables can be generated without RTTI and we can have both D and C++ 
> classes in betterC mode. It may not be ready now, but it is definitely 
> possible and should be supported.
> 
> Best reagards,
> Ilya

Agreed, but that is a bigger change and would require a bit more of a 
rethink than just a simple 'remove reference to symbol'.


More information about the Digitalmars-d mailing list