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.

_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to