[PATCH] D37308: Interface class with uuid base record

Aaron Ballman via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Aug 31 11:38:42 PDT 2017

aaron.ballman added a comment.

In https://reviews.llvm.org/D37308#857607, @zahiraam wrote:

> Removed the helper function.
> If RD (base class) has uuid attribute, we want to ensure that the interface doesn't have attributes. Otherwise cases like:
> class __declspec(uuid("00000000-0000-0000-C000-000000000046")) IUnknown1 {};
>  __interface __declspec(dllimport) ISfFileIOPropertyPage1 : public IUnknown1 {};
> will compile.

Is there a reason this code shouldn't work?

  class __declspec(uuid("00000000-0000-0000-C000-000000000046")) IUnknown1 {};
  __interface __declspec(deprecated("Don't use this")) blah : public IUnknown1 {};

Is it only dllimport that is a problem?


More information about the cfe-commits mailing list