================ @@ -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(); ---------------- HighCommander4 wrote:
The first approach I tried was to remove `CollectMainFileMacros` from the preprocessor callbacks at this point, however the current `Preprocessor` API does not make that easy to do (adding a new callback creates a `PPChainedCallbacks`, and there are further internal calls made to `addPPCallbacks()` that chain other ones on top of ours). So, I opted to "neutralize" our callback rather than try to remove it. https://github.com/llvm/llvm-project/pull/106329 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits