[clang-tools-extra] readability-identifier-naming should add universal default options (PR #171686)
Dominik Kaszewski via cfe-commits
cfe-commits at lists.llvm.org
Wed Dec 10 12:50:21 PST 2025
https://github.com/dkaszews updated https://github.com/llvm/llvm-project/pull/171686
>From 30a266b21a6e96441886778ab85ebff08a9f68e2 Mon Sep 17 00:00:00 2001
From: Dominik Kaszewski <dakaszewski at gmail.com>
Date: Wed, 10 Dec 2025 20:28:57 +0100
Subject: [PATCH 1/2] Add default config
---
.../readability/IdentifierNamingCheck.cpp | 29 ++++++++++++-------
.../readability/IdentifierNamingCheck.h | 4 +++
2 files changed, 22 insertions(+), 11 deletions(-)
diff --git a/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp b/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
index 79f8437057b23..3efeade89a4c9 100644
--- a/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
@@ -71,6 +71,7 @@ namespace readability {
// clang-format off
#define NAMING_KEYS(m) \
+ m(Default) \
m(Namespace) \
m(InlineNamespace) \
m(EnumConstant) \
@@ -1162,7 +1163,7 @@ StyleKind IdentifierNamingCheck::findStyleKind(
if (NamingStyles[SK_Constant])
return SK_Constant;
- return SK_Invalid;
+ return undefinedStyle(NamingStyles);
}
if (const auto *Decl = dyn_cast<RecordDecl>(D)) {
@@ -1194,7 +1195,7 @@ StyleKind IdentifierNamingCheck::findStyleKind(
return SK_Enum;
}
- return SK_Invalid;
+ return undefinedStyle(NamingStyles);
}
if (const auto *Decl = dyn_cast<FieldDecl>(D)) {
@@ -1238,7 +1239,7 @@ StyleKind IdentifierNamingCheck::findStyleKind(
if (NamingStyles[SK_Parameter])
return SK_Parameter;
- return SK_Invalid;
+ return undefinedStyle(NamingStyles);
}
if (const auto *Decl = dyn_cast<VarDecl>(D)) {
@@ -1284,7 +1285,7 @@ StyleKind IdentifierNamingCheck::findStyleKind(
if (NamingStyles[SK_Function])
return SK_Function;
- return SK_Invalid;
+ return undefinedStyle(NamingStyles);
}
if (const auto *Decl = dyn_cast<FunctionDecl>(D)) {
@@ -1308,7 +1309,7 @@ StyleKind IdentifierNamingCheck::findStyleKind(
if (NamingStyles[SK_TemplateParameter])
return SK_TemplateParameter;
- return SK_Invalid;
+ return undefinedStyle(NamingStyles);
}
if (isa<NonTypeTemplateParmDecl>(D)) {
@@ -1318,7 +1319,7 @@ StyleKind IdentifierNamingCheck::findStyleKind(
if (NamingStyles[SK_TemplateParameter])
return SK_TemplateParameter;
- return SK_Invalid;
+ return undefinedStyle(NamingStyles);
}
if (isa<TemplateTemplateParmDecl>(D)) {
@@ -1328,13 +1329,13 @@ StyleKind IdentifierNamingCheck::findStyleKind(
if (NamingStyles[SK_TemplateParameter])
return SK_TemplateParameter;
- return SK_Invalid;
+ return undefinedStyle(NamingStyles);
}
if (isa<ConceptDecl>(D) && NamingStyles[SK_Concept])
return SK_Concept;
- return SK_Invalid;
+ return undefinedStyle(NamingStyles);
}
std::optional<RenamerClangTidyCheck::FailureInfo>
@@ -1468,7 +1469,7 @@ StyleKind IdentifierNamingCheck::findStyleKindForAnonField(
return findStyleKindForVar(V, Type, NamingStyles);
}
- return SK_Invalid;
+ return undefinedStyle(NamingStyles);
}
StyleKind IdentifierNamingCheck::findStyleKindForField(
@@ -1494,7 +1495,7 @@ StyleKind IdentifierNamingCheck::findStyleKindForField(
if (NamingStyles[SK_Member])
return SK_Member;
- return SK_Invalid;
+ return undefinedStyle(NamingStyles);
}
StyleKind IdentifierNamingCheck::findStyleKindForVar(
@@ -1571,8 +1572,14 @@ StyleKind IdentifierNamingCheck::findStyleKindForVar(
if (NamingStyles[SK_Variable])
return SK_Variable;
- return SK_Invalid;
+ return undefinedStyle(NamingStyles);
+}
+
+StyleKind IdentifierNamingCheck::undefinedStyle(
+ ArrayRef<std::optional<NamingStyle>> NamingStyles) const {
+ return NamingStyles[SK_Default] ? SK_Default : SK_Invalid;
}
} // namespace readability
} // namespace clang::tidy
+
diff --git a/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.h b/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.h
index 0b17af88810c2..cc05333269b80 100644
--- a/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.h
+++ b/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.h
@@ -220,6 +220,9 @@ class IdentifierNamingCheck final : public RenamerClangTidyCheck {
findStyleKindForVar(const VarDecl *Var, QualType Type,
ArrayRef<std::optional<NamingStyle>> NamingStyles) const;
+ StyleKind
+ undefinedStyle(ArrayRef<std::optional<NamingStyle>> NamingStyles) const;
+
/// Stores the style options as a vector, indexed by the specified \ref
/// StyleKind, for a given directory.
mutable llvm::StringMap<FileStyle> NamingStylesCache;
@@ -241,3 +244,4 @@ struct OptionEnumMapping<readability::IdentifierNamingCheck::CaseType> {
} // namespace clang::tidy
#endif // LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_READABILITY_IDENTIFIERNAMINGCHECK_H
+
>From 5dada5cefaa683092a9c1afd710e4a851dd94c38 Mon Sep 17 00:00:00 2001
From: Dominik Kaszewski <dakaszewski at gmail.com>
Date: Wed, 10 Dec 2025 21:50:08 +0100
Subject: [PATCH 2/2] WIP tests
---
.../identifier-naming-default-lower.cpp | 26 +++++++++++++++++++
.../identifier-naming-default-none.cpp | 25 ++++++++++++++++++
2 files changed, 51 insertions(+)
create mode 100644 clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-default-lower.cpp
create mode 100644 clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-default-none.cpp
diff --git a/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-default-lower.cpp b/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-default-lower.cpp
new file mode 100644
index 0000000000000..276bc35a9be10
--- /dev/null
+++ b/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-default-lower.cpp
@@ -0,0 +1,26 @@
+// RUN: %check_clang_tidy %s readability-identifier-naming %t -- \
+// RUN: -config='{CheckOptions: { \
+// RUN: readability-identifier-naming.DefaultCase: "lower_case" }}'
+
+int BadGlobal;
+
+int good_global;
+
+struct BadStruct {
+ int BadField;
+};
+
+struct good_struct {
+ int good_field;
+};
+
+int BadFunction(int BadParameter) {
+ int BadVariable = BadParameter;
+ return BadVariable;
+}
+
+int good_function(int good_parameter) {
+ int good_variable = good_parameter;
+ return good_variable;
+}
+
diff --git a/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-default-none.cpp b/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-default-none.cpp
new file mode 100644
index 0000000000000..8e82abfa61259
--- /dev/null
+++ b/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-default-none.cpp
@@ -0,0 +1,25 @@
+// RUN: %check_clang_tidy %s readability-identifier-naming %t -- \
+// RUN: -config='{CheckOptions: {}}'
+
+int BadGlobal;
+
+int good_global;
+
+struct BadStruct {
+ int BadField;
+};
+
+struct good_struct {
+ int good_field;
+};
+
+int BadFunction(int BadParameter) {
+ int BadVariable = BadParameter;
+ return BadVariable;
+}
+
+int good_function(int good_parameter) {
+ int good_variable = good_parameter;
+ return good_variable;
+}
+
More information about the cfe-commits
mailing list