[cfe-commits] [PATCH] Improve __interface support

David Robins llvm at davidrobins.net
Sun Aug 26 15:03:41 PDT 2012


Currently, (the Microsoft-specific keyword) __interface is aliased to
struct, which breaks code that, for example, declares a method pure but
not virtual (both are implicit in an __interface, but it's not wrong to
state them explicitly too), or inherits from an __interface using
override, and other uses.

This patch makes __interface a new class-key and makes member functions
pure virtual automatically. See:
http://msdn.microsoft.com/en-us/library/50h7kwtb%28v=vs.110%29.aspx.

There has been some discussion of this patch on the cfe-dev list and I
have made all the changes requested there.  This patch is against
revision 162644, and all clang tests, including some changes made to
test new functionality, are passing with it applied.




More information about the cfe-commits mailing list