[clang-tools-extra] [clangd] Do not collect macros when clang-tidy checks call into the preprocessor (PR #106329)

kadir çetinkaya via cfe-commits cfe-commits at lists.llvm.org
Mon Sep 2 10:50:10 PDT 2024


================
@@ -702,6 +704,10 @@ ParsedAST::build(llvm::StringRef Filename, const ParseInputs &Inputs,
     log("Execute() failed when building AST for {0}: {1}", MainInput.getFile(),
         toString(std::move(Err)));
 
+  // Disable the macro collector for the remainder of this function, e.g.
+  // clang-tidy checkers.
+  MacroCollectorPtr->doneParse();
----------------
kadircet wrote:

> add a new method to PPCallbacks, e.g. BuildASTDone() or such

I'd first see if we can extend existing `(Lexed)FileChanged` callbacks to fit this use case without breaking any users.

but if that doesn't work, yes, a new callback would be needed.

https://github.com/llvm/llvm-project/pull/106329


More information about the cfe-commits mailing list