[cfe-dev] [PATCH] extend __interface support

John McCall rjmccall at apple.com
Tue Aug 14 10:44:09 PDT 2012


On Aug 14, 2012, at 10:40 AM, David Robins wrote:
> On Tue, Aug 14, 2012 at 10:01:01AM -0700, John McCall wrote:
>>> class-key from the C++ spec) do you mean that it should have its own
>>> decl spec type TST_interface and TagTypeKind TTK_Interface rather than
>>> the ms_interface attribute?
>> 
>> Yeah, that's what I was suggesting.  That lets arbitrary clients remember
>> the exact intent a little easier.
> 
> I'll work up a patch that works that way and post when ready.

Thanks.

>>> Note that MS diagnostics refer to __interface as 'struct', e.g.
>>> 
>>> 	int.cpp(4) : warning C4099: 'Y' : type name first seen using 'struct'
>>> 	now seen using 'class'
>>> 
>>> Does that matter at all?
>> 
>> That's interesting.  Maybe MSVC just defines this as a macro?  Have you tried
>> running it through the preprocessor?  Although it's more likely that they're
>> just being lazy about their diagnostics.
> 
> No, it's not an actual macro - and can't be, because of the way it
> forces member function decls to be pure virtual.

It could have been a macro the same way you had it implemented, i.e. with
some extra keyword or attribute after 'struct'.  But it did seem unlikely.

> (BTW, I dropped you from the 'To' line this time and sent direct to the
> list address only, which doesn't seem to cause messages to be dropped -
> let me know.)

Well, it worked, thanks. :)

John.




More information about the cfe-dev mailing list