diff --git a/toolchain/check/import_cpp.cpp b/toolchain/check/import_cpp.cpp index 83c833769a88..8656266f4d56 100644 --- a/toolchain/check/import_cpp.cpp +++ b/toolchain/check/import_cpp.cpp @@ -70,6 +70,9 @@ static auto GenerateAst(Context& context, llvm::StringRef importing_file_path, "clang-tool", std::make_shared(), clang::tooling::getClangStripDependencyFileAdjuster(), clang::tooling::FileContentMappings(), &diagnostics_consumer, fs); + // Remove link to the diagnostics consumer before its deletion. + ast->getDiagnostics().setClient(nullptr); + // TODO: Implement and use a DynamicRecursiveASTVisitor to traverse the AST. int num_errors = diagnostics_consumer.getNumErrors(); int num_warnings = diagnostics_consumer.getNumWarnings();