[clang-tools-extra] Clang-Tidy: Fix `cppcoreguidelines-use-enum-class` anonymous enum bug (PR #215352)
via cfe-commits
cfe-commits at lists.llvm.org
Mon Aug 10 10:49:08 PDT 2026
https://github.com/void2012 updated https://github.com/llvm/llvm-project/pull/215352
>From c52a49dd7103ba0a87070ab79b862ceb89d5f711 Mon Sep 17 00:00:00 2001
From: void_17 <heroerror3 at gmail.com>
Date: Tue, 11 Aug 2026 00:40:52 +0700
Subject: [PATCH 1/2] Ignore anonymous enums in `UseEnumClassCheck`
`UseEnumClassCheck::registerMatchers` didn't check for empty enum names, fix this
---
.../clang-tidy/cppcoreguidelines/UseEnumClassCheck.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/clang-tools-extra/clang-tidy/cppcoreguidelines/UseEnumClassCheck.cpp b/clang-tools-extra/clang-tidy/cppcoreguidelines/UseEnumClassCheck.cpp
index 84720d10c233e..8ed64cbb9214e 100644
--- a/clang-tools-extra/clang-tidy/cppcoreguidelines/UseEnumClassCheck.cpp
+++ b/clang-tools-extra/clang-tidy/cppcoreguidelines/UseEnumClassCheck.cpp
@@ -28,8 +28,8 @@ void UseEnumClassCheck::storeOptions(ClangTidyOptions::OptionMap &Opts) {
void UseEnumClassCheck::registerMatchers(MatchFinder *Finder) {
const auto EnumDecl =
IgnoreUnscopedEnumsInClasses
- ? enumDecl(unless(isScoped()), unless(hasParent(recordDecl())))
- : enumDecl(unless(isScoped()));
+ ? enumDecl(unless(isScoped()), unless(hasName("")), unless(hasParent(recordDecl())))
+ : enumDecl(unless(isScoped()), unless(hasName("")));
Finder->addMatcher(EnumDecl.bind("unscoped_enum"), this);
}
>From dcd92724588e61a7713bac40e039f61606615ef0 Mon Sep 17 00:00:00 2001
From: void_17 <heroerror3 at gmail.com>
Date: Tue, 11 Aug 2026 00:48:59 +0700
Subject: [PATCH 2/2] Add anonymous enum test to
`cppcoreguidelines/use-enum-class.cpp`
---
.../clang-tidy/checkers/cppcoreguidelines/use-enum-class.cpp | 2 ++
1 file changed, 2 insertions(+)
diff --git a/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/use-enum-class.cpp b/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/use-enum-class.cpp
index f53d787f80efa..033865a7ac830 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/use-enum-class.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/use-enum-class.cpp
@@ -60,3 +60,5 @@ enum ForwardE : int;
enum class ForwardEC : int;
enum struct ForwardES : int;
+
+enum { A };
More information about the cfe-commits
mailing list