samtebbs added inline comments.

================
Comment at: clang/lib/Sema/SemaDecl.cpp:58
 using namespace sema;
-
+bool isEnumClass = false;
 Sema::DeclGroupPtrTy Sema::ConvertDeclToDeclGroup(Decl *Ptr, Decl *OwnedType) {
----------------
This being global could lead to issues where one overwrites the other. I think 
a better approach would be to create another version of 
`GetDiagnosticTypeSpecifierID` that takes the DeclSpec, then this won't be 
needed.


================
Comment at: clang/lib/Sema/SemaDecl.cpp:5305-5310
+           if (TypeSpecType == DeclSpec::TST_enum) {
+        if (const EnumDecl *ED = dyn_cast<EnumDecl>(DS.getRepAsDecl())) {
+          if (ED->isScopedUsingClassTag())
+            isEnumClass = true;
+        }
+      }
----------------
if you make a new `GetDiagnosticTypeSpecifierID` then you can check these 
conditions in that function instead of there and return 5 if they are all true, 
otherwise return `GetDiagnosticTypeSpecifierID(TypeSpecType)`.


================
Comment at: clang/lib/Sema/SemaDecl.cpp:5313-5316
             << AL << GetDiagnosticTypeSpecifierID(TypeSpecType);
       for (const ParsedAttr &AL : DeclAttrs)
         Diag(AL.getLoc(), diag::warn_declspec_attribute_ignored)
             << AL << GetDiagnosticTypeSpecifierID(TypeSpecType);
----------------
Then use the new `GetDiagnosticTypeSpecifierID` here, passing `DS` instead of 
`TypeSpecType`.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D147989

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to