aboutsummaryrefslogtreecommitdiff
path: root/clang/lib
diff options
context:
space:
mode:
authorVlad Serebrennikov <serebrennikov.vladislav@gmail.com>2025-04-30 02:31:10 +0300
committerVlad Serebrennikov <serebrennikov.vladislav@gmail.com>2025-04-30 02:31:31 +0300
commit7ecd81e266174253786e084c100c22c65a214b5d (patch)
tree826bdf152dc3c5d9dd37c676cc77263efd64a813 /clang/lib
parent4595e8092ed5ce69b3ce33e989d7bea3a25fc289 (diff)
downloadllvm-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.cpp2
-rw-r--r--clang/lib/Parse/ParseDeclCXX.cpp6
-rw-r--r--clang/lib/Parse/ParseObjc.cpp2
-rw-r--r--clang/lib/Parse/Parser.cpp12
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);