[PATCH] D37308: Interface class with uuid base record

Zahira Ammarguellat via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Aug 31 15:43:36 PDT 2017


zahiraam added a comment.

Aaron,

Yes I want to this to succeed:

struct __declspec(uuid("00000000-0000-0000-C000-000000000046")) IUnknown {};
__interface ISfFileIOPropertyPage : public IUnknown {};

But I also want this to succeed:

struct __declspec(uuid("00000000-0000-0000-C000-000000000046")) IUnknown {};
struct IPropertyPage : public IUnknown {};
__interface ISfFileIOPropertyPage : public IPropertyPage {};

And I can't figure out how these 2 can be differentiated. I think the conditions that I have currently are differently too. This later case doesn't succeed with the current code. 
And I want this to fail:

class __declspec(uuid("00000000-0000-0000-C000-000000000046")) IUnknown1 {};
__interface __declspec(dllimport) ISfFileIOPropertyPage1 : public IUnknown1 {};

This currently does with the current code.

I guess I need to work on it a bit more.


https://reviews.llvm.org/D37308





More information about the cfe-commits mailing list