shivanshu3 marked 3 inline comments as done.
shivanshu3 added a comment.

Thank you very much for the review @rsmith!



================
Comment at: clang/lib/Sema/SemaDecl.cpp:15752-15754
+          bool AnonymousEnumEligible = getLangOpts().MSVCCompat &&
+                                       (Kind == TTK_Enum) &&
+                                       Tag->getDeclName().isEmpty();
----------------
rsmith wrote:
> In the anonymous union case, we also need to check for qualifiers on the 
> typedef type, and more broadly perhaps we should be using 
> `getAnonDeclWithTypedefName` here too. Presumably the new case should also 
> only apply for `TUK_Reference`.
I added a check for TUK_Reference. But I don't fully understand your other 
comment about checking the qualifiers on the typedef type. Could you please 
explain a little more?


================
Comment at: clang/test/Sema/enum-typedef-msvc.c:15
+  (void)foo;
+}
----------------
rsmith wrote:
> Please also add a testcase for the situation where the use of `enum Foo` 
> occurs in the same scope as the typedef and anonymous `enum` declaration. 
> (MSVC has weird behavior here that we don't necessarily need to follow, but 
> we should make sure we at least do something defensible.)
Oh interesting! I didn't realize MSVC produces an error in that case. Clang 
does not produce an error with these changes in that case. Is that OK?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D91659/new/

https://reviews.llvm.org/D91659

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
  • [PATCH] D91659: A... Shivanshu Goyal via Phabricator via cfe-commits
    • [PATCH] D916... Richard Smith - zygoloid via Phabricator via cfe-commits
    • [PATCH] D916... Shivanshu Goyal via Phabricator via cfe-commits
    • [PATCH] D916... Shivanshu Goyal via Phabricator via cfe-commits

Reply via email to