diff --git a/clang/include/clang/Tooling/ArgumentsAdjusters.h b/clang/include/clang/Tooling/ArgumentsAdjusters.h --- a/clang/include/clang/Tooling/ArgumentsAdjusters.h +++ b/clang/include/clang/Tooling/ArgumentsAdjusters.h @@ -43,10 +43,6 @@ /// arguments. ArgumentsAdjuster getClangStripOutputAdjuster(); -/// Gets an argument adjuster which removes command line arguments related to -/// diagnostic serialization. -ArgumentsAdjuster getClangStripSerializeDiagnosticAdjuster(); - /// Gets an argument adjuster which removes dependency-file /// related command line arguments. ArgumentsAdjuster getClangStripDependencyFileAdjuster(); diff --git a/clang/lib/Tooling/ArgumentsAdjusters.cpp b/clang/lib/Tooling/ArgumentsAdjusters.cpp --- a/clang/lib/Tooling/ArgumentsAdjusters.cpp +++ b/clang/lib/Tooling/ArgumentsAdjusters.cpp @@ -86,22 +86,6 @@ }; } -ArgumentsAdjuster getClangStripSerializeDiagnosticAdjuster() { - return [](const CommandLineArguments &Args, StringRef /*unused*/) { - CommandLineArguments AdjustedArgs; - for (size_t i = 0, e = Args.size(); i < e; ++i) { - StringRef Arg = Args[i]; - if (Arg == "--serialize-diagnostics") { - // Skip the diagnostic output argument. - ++i; - continue; - } - AdjustedArgs.push_back(Args[i]); - } - return AdjustedArgs; - }; -} - ArgumentsAdjuster getClangStripDependencyFileAdjuster() { return [](const CommandLineArguments &Args, StringRef /*unused*/) { auto UsingClDriver = (getDriverMode(Args) == "cl"); diff --git a/clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp b/clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp --- a/clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp +++ b/clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp @@ -85,6 +85,8 @@ // Don't print 'X warnings and Y errors generated'. Compiler.getDiagnosticOpts().ShowCarets = false; + // Don't write out diagnostic file. + Compiler.getDiagnosticOpts().DiagnosticSerializationFile.clear(); // Create the compiler's actual diagnostics engine. Compiler.createDiagnostics(DiagConsumer, /*ShouldOwnClient=*/false); if (!Compiler.hasDiagnostics()) diff --git a/clang/test/ClangScanDeps/Inputs/strip_diag_serialize.json b/clang/test/ClangScanDeps/Inputs/strip_diag_serialize.json --- a/clang/test/ClangScanDeps/Inputs/strip_diag_serialize.json +++ b/clang/test/ClangScanDeps/Inputs/strip_diag_serialize.json @@ -3,10 +3,5 @@ "directory": "DIR", "command": "clang -E -fsyntax-only DIR/strip_diag_serialize_input.cpp --serialize-diagnostics /does/not/exist", "file": "DIR/strip_diag_serialize_input.cpp" -}, -{ - "directory": "DIR", - "command": "clang-cl /E --serialize-diagnostics A:/does/not/exist -- DIR/strip_diag_serialize_input_clangcl.cpp", - "file": "DIR/strip_diag_serialize_input_clangcl.cpp" } ] diff --git a/clang/test/ClangScanDeps/strip_diag_serialize.cpp b/clang/test/ClangScanDeps/strip_diag_serialize.cpp --- a/clang/test/ClangScanDeps/strip_diag_serialize.cpp +++ b/clang/test/ClangScanDeps/strip_diag_serialize.cpp @@ -8,6 +8,5 @@ // RUN: clang-scan-deps -compilation-database %t.cdb -j 1 2>&1 | FileCheck %s // CHECK-NOT: unable to open file // CHECK: strip_diag_serialize_input.cpp -// CHECK: strip_diag_serialize_input_clangcl.cpp #warning "diagnostic" diff --git a/clang/tools/clang-scan-deps/ClangScanDeps.cpp b/clang/tools/clang-scan-deps/ClangScanDeps.cpp --- a/clang/tools/clang-scan-deps/ClangScanDeps.cpp +++ b/clang/tools/clang-scan-deps/ClangScanDeps.cpp @@ -571,8 +571,6 @@ AdjustedArgs.insert(AdjustedArgs.end(), FlagsEnd, Args.end()); return AdjustedArgs; }); - AdjustingCompilations->appendArgumentsAdjuster( - tooling::getClangStripSerializeDiagnosticAdjuster()); SharedStream Errs(llvm::errs()); // Print out the dependency results to STDOUT by default.