zahiraam added a comment. There are still a few things I haven't addressed yet. Mostly because not sure there is another solution like getting rid of the map from StringRef to expr. The other issue is not adding new kind to ParsedAttr. There may be another way of doing it, but didn't look at it yet. Meanwhile can you please let me know if you are happy with the current status of the implementation.
================ Comment at: lib/Parse/ParseDecl.cpp:594 + bool Invalid = false; + StringRef UuidStr = PP.getSpelling(Tok, UuidBuffer, &Invalid); + ---------------- rsmith wrote: > How does this handle the case where multiple tokens must be concatenated to > form a uuid? Eg, `uuid(12345678-9abc-def0-1234-56789abcdef0)` ksh-3.2$ cat m3.cpp struct __declspec (uuid(12345678-9abc-def0-1234-56789abcdef0)) s; ksh-3.2$ clang -c m3.cpp m3.cpp:1:35: error: invalid digit 'a' in decimal constant struct __declspec (uuid(12345678-9abc-def0-1234-56789abcdef0)) s; ^ m3.cpp:1:39: error: use of undeclared identifier 'def0' struct __declspec (uuid(12345678-9abc-def0-1234-56789abcdef0)) s; ^ m3.cpp:1:54: error: invalid digit 'a' in decimal constant struct __declspec (uuid(12345678-9abc-def0-1234-56789abcdef0)) s; ^ 3 errors generated. ksh-3.2$ CHANGES SINCE LAST ACTION https://reviews.llvm.org/D43576/new/ https://reviews.llvm.org/D43576 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits