rsmith added a comment. In https://reviews.llvm.org/D43576#1019703, @zahiraam wrote:
> Currently this declaration: > struct > __declspec(uuid("{DDB47A6A-0F23-11D5-9109-00E0296B75D3}")) > S1; > > a CXXRecordDecl type is generated with attributes (the uuid being an > attribute). Are you proposing that instead a new type is generated for S1 say > something like CXXUuidRecord? And create also a new TagType that corresponds > to this new Decl? No. Concretely, I'd suggest we create a new `UuidDecl` object representing the `_GUID` object. An instance of `UuidDecl` would be created and owned by the `uuid` attribute, and `__uuidof(X)` would denote the `UuidDecl` owned by the `uuid` attribute on the `CXXRecordDecl`. We'd also need some way to form redeclaration chains for `UuidDecl`s (which means we'll need a map from UUID to `UuidDecl` somewhere, perhaps on the `ASTContext`). https://reviews.llvm.org/D43576 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits