[clang-tools-extra] [clang-tidy] Speed up bugprone-multiple-statement-macro (PR #223197)
Zeyi Xu via cfe-commits
cfe-commits at lists.llvm.org
Sat Sep 12 19:15:13 PDT 2026
https://github.com/zeyi2 created https://github.com/llvm/llvm-project/pull/223197
None
>From 780786fe673db6d11e9446fa4041b1208bc52fec Mon Sep 17 00:00:00 2001
From: Zeyi Xu <mitchell.xu2 at gmail.com>
Date: Sun, 13 Sep 2026 10:14:51 +0800
Subject: [PATCH] [clang-tidy] Speed up bugprone-multiple-statement-macro
---
.../clang-tidy/bugprone/MultipleStatementMacroCheck.cpp | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/clang-tools-extra/clang-tidy/bugprone/MultipleStatementMacroCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/MultipleStatementMacroCheck.cpp
index bf026f9374437..4baeb97ce1290 100644
--- a/clang-tools-extra/clang-tidy/bugprone/MultipleStatementMacroCheck.cpp
+++ b/clang-tools-extra/clang-tidy/bugprone/MultipleStatementMacroCheck.cpp
@@ -57,10 +57,11 @@ getExpansionRanges(SourceLocation Loc, const MatchFinder::MatchResult &Result) {
void MultipleStatementMacroCheck::registerMatchers(MatchFinder *Finder) {
const auto Inner = expr(isInMacro(), unless(compoundStmt())).bind("inner");
Finder->addMatcher(
- stmt(anyOf(ifStmt(hasThen(Inner)), ifStmt(hasElse(Inner)).bind("else"),
- whileStmt(hasBody(Inner)), forStmt(hasBody(Inner))))
+ ifStmt(anyOf(hasThen(Inner), allOf(hasElse(Inner), stmt().bind("else"))))
.bind("outer"),
this);
+ Finder->addMatcher(whileStmt(hasBody(Inner)).bind("outer"), this);
+ Finder->addMatcher(forStmt(hasBody(Inner)).bind("outer"), this);
}
void MultipleStatementMacroCheck::check(
More information about the cfe-commits
mailing list