https://github.com/savchart updated https://github.com/llvm/llvm-project/pull/206809
>From dd7869dd81dd10d6d0b6c6f93d4a43f1d6931371 Mon Sep 17 00:00:00 2001 From: savchart <[email protected]> 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 <[email protected]> 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 +} _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
