thakis closed this revision.
thakis added a comment.
r281367, thanks!
https://reviews.llvm.org/D24469
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
thakis updated this revision to Diff 71181.
thakis added a comment.
comments
https://reviews.llvm.org/D24469
Files:
include/clang/Basic/DiagnosticSemaKinds.td
include/clang/Sema/AttributeList.h
include/clang/Sema/Sema.h
lib/Parse/ParseDecl.cpp
lib/Sema/SemaDecl.cpp
thakis marked 2 inline comments as done.
thakis added a comment.
In https://reviews.llvm.org/D24469#540400, @majnemer wrote:
> Does __uuidof walk bases to find [uuid] in cl.exe? They walk bases for the
> __declspec spelling.
As far as I can tell, they don't for either:
aaron.ballman added inline comments.
Comment at: include/clang/Basic/DiagnosticSemaKinds.td:2258
@@ -2257,1 +2257,3 @@
"uuid attribute contains a malformed GUID">;
+def err_mismatched_uuid : Error<"uiid does not match previous declaration">;
+def note_previous_uuid :
rnk accepted this revision.
rnk added a comment.
This revision is now accepted and ready to land.
lgtm
Comment at: lib/Parse/ParseDecl.cpp:1456
@@ -1451,1 +1455,3 @@
+ TypeAttrTail = AL;
+ TypeAttrTail->setNext(nullptr);
mmm hand rolled singly
thakis updated this revision to Diff 71050.
thakis added a comment.
On conflict, keep first uuid in ast instead of having different uuids on
different redeclarations.
https://reviews.llvm.org/D24469
Files:
include/clang/Basic/DiagnosticSemaKinds.td
include/clang/Sema/AttributeList.h
thakis updated this revision to Diff 71049.
thakis added a comment.
Remove local XXXs I've since addressed.
https://reviews.llvm.org/D24469
Files:
include/clang/Basic/DiagnosticSemaKinds.td
include/clang/Sema/AttributeList.h
include/clang/Sema/Sema.h
lib/Parse/ParseDecl.cpp
thakis created this revision.
thakis added a reviewer: rnk.
thakis added subscribers: cfe-commits, aaron.ballman.
This mostly behaves cl.exe's behavior, even though clang-cl is stricter in some
corner cases and more lenient in others (see the included test).
To make the `uuid declared