diff options
author | Vlad Serebrennikov <serebrennikov.vladislav@gmail.com> | 2025-04-30 02:31:10 +0300 |
---|---|---|
committer | Vlad Serebrennikov <serebrennikov.vladislav@gmail.com> | 2025-04-30 02:31:31 +0300 |
commit | 7ecd81e266174253786e084c100c22c65a214b5d (patch) | |
tree | 826bdf152dc3c5d9dd37c676cc77263efd64a813 /clang/lib | |
parent | 4595e8092ed5ce69b3ce33e989d7bea3a25fc289 (diff) | |
download | llvm-7ecd81e266174253786e084c100c22c65a214b5d.zip llvm-7ecd81e266174253786e084c100c22c65a214b5d.tar.gz llvm-7ecd81e266174253786e084c100c22c65a214b5d.tar.bz2 |
[clang][NFC] Convert `Parser::ExtraSemiKind` to scoped enum
Diffstat (limited to 'clang/lib')
-rw-r--r-- | clang/lib/Parse/ParseDecl.cpp | 2 | ||||
-rw-r--r-- | clang/lib/Parse/ParseDeclCXX.cpp | 6 | ||||
-rw-r--r-- | clang/lib/Parse/ParseObjc.cpp | 2 | ||||
-rw-r--r-- | clang/lib/Parse/Parser.cpp | 12 |
4 files changed, 12 insertions, 10 deletions
diff --git a/clang/lib/Parse/ParseDecl.cpp b/clang/lib/Parse/ParseDecl.cpp index 69d40ba..7eb6bb9 100644 --- a/clang/lib/Parse/ParseDecl.cpp +++ b/clang/lib/Parse/ParseDecl.cpp @@ -5187,7 +5187,7 @@ void Parser::ParseStructUnionBody(SourceLocation RecordLoc, // Check for extraneous top-level semicolon. if (Tok.is(tok::semi)) { - ConsumeExtraSemi(InsideStruct, TagType); + ConsumeExtraSemi(ExtraSemiKind::InsideStruct, TagType); continue; } diff --git a/clang/lib/Parse/ParseDeclCXX.cpp b/clang/lib/Parse/ParseDeclCXX.cpp index 51fe066..6deb9b7 100644 --- a/clang/lib/Parse/ParseDeclCXX.cpp +++ b/clang/lib/Parse/ParseDeclCXX.cpp @@ -3295,7 +3295,7 @@ Parser::DeclGroupPtrTy Parser::ParseCXXClassMemberDeclaration( // Consume the ';' - it's optional unless we have a delete or default if (Tok.is(tok::semi)) - ConsumeExtraSemi(AfterMemberFunctionDefinition); + ConsumeExtraSemi(ExtraSemiKind::AfterMemberFunctionDefinition); return DeclGroupPtrTy::make(DeclGroupRef(FunDecl)); } @@ -3649,7 +3649,7 @@ Parser::DeclGroupPtrTy Parser::ParseCXXClassMemberDeclarationWithPragmas( case tok::semi: // Check for extraneous top-level semicolon. - ConsumeExtraSemi(InsideStruct, TagType); + ConsumeExtraSemi(ExtraSemiKind::InsideStruct, TagType); return nullptr; // Handle pragmas that can appear as member declarations. @@ -5313,7 +5313,7 @@ void Parser::ParseMicrosoftIfExistsClassDeclaration( // Check for extraneous top-level semicolon. if (Tok.is(tok::semi)) { - ConsumeExtraSemi(InsideStruct, TagType); + ConsumeExtraSemi(ExtraSemiKind::InsideStruct, TagType); continue; } diff --git a/clang/lib/Parse/ParseObjc.cpp b/clang/lib/Parse/ParseObjc.cpp index d872177..40bc459 100644 --- a/clang/lib/Parse/ParseObjc.cpp +++ b/clang/lib/Parse/ParseObjc.cpp @@ -1972,7 +1972,7 @@ void Parser::ParseObjCClassInstanceVariables(ObjCContainerDecl *interfaceDecl, // Check for extraneous top-level semicolon. if (Tok.is(tok::semi)) { - ConsumeExtraSemi(InstanceVariableList); + ConsumeExtraSemi(ExtraSemiKind::InstanceVariableList); continue; } diff --git a/clang/lib/Parse/Parser.cpp b/clang/lib/Parse/Parser.cpp index 0954c31..c45ed41 100644 --- a/clang/lib/Parse/Parser.cpp +++ b/clang/lib/Parse/Parser.cpp @@ -24,6 +24,7 @@ #include "clang/Sema/ParsedTemplate.h" #include "clang/Sema/Scope.h" #include "clang/Sema/SemaCodeCompletion.h" +#include "llvm/ADT/STLForwardCompat.h" #include "llvm/Support/Path.h" #include "llvm/Support/TimeProfiler.h" using namespace clang; @@ -213,7 +214,7 @@ void Parser::ConsumeExtraSemi(ExtraSemiKind Kind, DeclSpec::TST TST) { // C++11 allows extra semicolons at namespace scope, but not in any of the // other contexts. - if (Kind == OutsideFunction && getLangOpts().CPlusPlus) { + if (Kind == ExtraSemiKind::OutsideFunction && getLangOpts().CPlusPlus) { if (getLangOpts().CPlusPlus11) Diag(StartLoc, diag::warn_cxx98_compat_top_level_semi) << FixItHint::CreateRemoval(SourceRange(StartLoc, EndLoc)); @@ -223,10 +224,11 @@ void Parser::ConsumeExtraSemi(ExtraSemiKind Kind, DeclSpec::TST TST) { return; } - if (Kind != AfterMemberFunctionDefinition || HadMultipleSemis) + if (Kind != ExtraSemiKind::AfterMemberFunctionDefinition || HadMultipleSemis) Diag(StartLoc, diag::ext_extra_semi) - << Kind << DeclSpec::getSpecifierName(TST, - Actions.getASTContext().getPrintingPolicy()) + << llvm::to_underlying(Kind) + << DeclSpec::getSpecifierName( + TST, Actions.getASTContext().getPrintingPolicy()) << FixItHint::CreateRemoval(SourceRange(StartLoc, EndLoc)); else // A single semicolon is valid after a member function definition. @@ -902,7 +904,7 @@ Parser::ParseExternalDeclaration(ParsedAttributes &Attrs, // Either a C++11 empty-declaration or attribute-declaration. SingleDecl = Actions.ActOnEmptyDeclaration(getCurScope(), Attrs, Tok.getLocation()); - ConsumeExtraSemi(OutsideFunction); + ConsumeExtraSemi(ExtraSemiKind::OutsideFunction); break; case tok::r_brace: Diag(Tok, diag::err_extraneous_closing_brace); |