[clang-tools-extra] [clang-tidy] Fix identifier-naming style lookup in macro arguments (PR #206809)
via cfe-commits
cfe-commits at lists.llvm.org
Wed Jul 1 01:42:00 PDT 2026
https://github.com/savchart updated https://github.com/llvm/llvm-project/pull/206809
>From dd7869dd81dd10d6d0b6c6f93d4a43f1d6931371 Mon Sep 17 00:00:00 2001
From: savchart <metaartem at protonmail.com>
Date: Tue, 30 Jun 2026 20:48:18 +0200
Subject: [PATCH 1/2] [clang-tidy] Fix identifier-naming style lookup in macro
arguments
---
.../readability/IdentifierNamingCheck.cpp | 3 ++-
.../identifier-naming-macro-argument.cpp | 23 +++++++++++++++++++
2 files changed, 25 insertions(+), 1 deletion(-)
create mode 100644 clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-macro-argument.cpp
diff --git a/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp b/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
index a356e1390b62d..2f66eb7248d1e 100644
--- a/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
+++ b/clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
@@ -1395,7 +1395,8 @@ IdentifierNamingCheck::getDeclFailureInfo(const NamedDecl *Decl,
return std::nullopt;
const SourceLocation Loc = Decl->getLocation();
- const FileStyle &FileStyle = getStyleForFile(SM.getFilename(Loc));
+ const SourceLocation StyleLoc = SM.getFileLoc(Loc);
+ const FileStyle &FileStyle = getStyleForFile(SM.getFilename(StyleLoc));
if (!FileStyle.isActive())
return std::nullopt;
diff --git a/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-macro-argument.cpp b/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-macro-argument.cpp
new file mode 100644
index 0000000000000..9774da8c7b076
--- /dev/null
+++ b/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-macro-argument.cpp
@@ -0,0 +1,23 @@
+// RUN: %check_clang_tidy %s readability-identifier-naming %t -- \
+// RUN: -config='{CheckOptions: { \
+// RUN: readability-identifier-naming.FunctionCase: camelBack, \
+// RUN: readability-identifier-naming.ParameterCase: camelBack, \
+// RUN: readability-identifier-naming.VariableCase: camelBack \
+// RUN: }}'
+
+#define WRAP(E) E
+
+WRAP(int foo(int v) { return v; })
+
+void testLambdaInMacroArgument() {
+ WRAP([](int var) {
+ return var;
+ }(1));
+}
+
+int badFunction(int BadParam) {
+ // CHECK-MESSAGES: :[[@LINE-1]]:21: warning: invalid case style for parameter 'BadParam' [readability-identifier-naming]
+ // CHECK-FIXES: int badFunction(int badParam) {
+ return BadParam;
+ // CHECK-FIXES: return badParam;
+}
\ No newline at end of file
>From 8df16ae197e04779b44ae2812cae8c8b04948f79 Mon Sep 17 00:00:00 2001
From: savchart <metaartem at protonmail.com>
Date: Wed, 1 Jul 2026 10:41:10 +0200
Subject: [PATCH 2/2] [clang-tidy] Add release note for identifier-naming macro
fix
---
clang-tools-extra/docs/ReleaseNotes.rst | 3 +++
.../checkers/readability/identifier-naming-macro-argument.cpp | 2 +-
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/clang-tools-extra/docs/ReleaseNotes.rst b/clang-tools-extra/docs/ReleaseNotes.rst
index fca6c21f22768..a412de4ad319c 100644
--- a/clang-tools-extra/docs/ReleaseNotes.rst
+++ b/clang-tools-extra/docs/ReleaseNotes.rst
@@ -758,6 +758,9 @@ Changes in existing checks
- Fixed a false positive where function templates could be diagnosed as generic
identifiers when `DefaultCase` was enabled.
+ - Fixed a false positive from naming style lookup for declarations inside macro
+ arguments.
+
- Improved :doc:`readability-implicit-bool-conversion
<clang-tidy/checks/readability/implicit-bool-conversion>` check:
diff --git a/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-macro-argument.cpp b/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-macro-argument.cpp
index 9774da8c7b076..ca34cf8edcbc8 100644
--- a/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-macro-argument.cpp
+++ b/clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-macro-argument.cpp
@@ -20,4 +20,4 @@ int badFunction(int BadParam) {
// CHECK-FIXES: int badFunction(int badParam) {
return BadParam;
// CHECK-FIXES: return badParam;
-}
\ No newline at end of file
+}
More information about the cfe-commits
mailing list