[clang-tools-extra] [clang-tidy] Avoid processing declarations in system headers (PR #128150)
Congcong Cai via cfe-commits
cfe-commits at lists.llvm.org
Sat Feb 22 06:09:41 PST 2025
Carlos =?utf-8?q?Gálvez?= <carlos.galvez at zenseact.com>,
Carlos =?utf-8?q?Gálvez?= <carlos.galvez at zenseact.com>
Message-ID:
In-Reply-To: <llvm.org/llvm/llvm-project/pull/128150 at github.com>
================
@@ -449,6 +479,10 @@ ClangTidyASTConsumerFactory::createASTConsumer(
}
std::vector<std::unique_ptr<ASTConsumer>> Consumers;
+
+ if (!Context.getOptions().SystemHeaders.value_or(false))
+ Consumers.push_back(std::make_unique<IgnoreSystemHeadersConsumer>());
+
if (!Checks.empty())
Consumers.push_back(Finder->newASTConsumer());
----------------
HerrCai0907 wrote:
I prefer to do like this
```c++
if (!Checks.empty())
if (!Context.getOptions().SystemHeaders.value_or(false))
Consumers.push_back(std::make_unique<IgnoreSystemHeadersConsumer>(Finder->newASTConsumer()));
else
Consumers.push_back(Finder->newASTConsumer());
```
IgnoreSystemHeadersConsumer will skip all top level decl in system header
https://github.com/llvm/llvm-project/pull/128150
More information about the cfe-commits
mailing list