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