diff --git a/clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp b/clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp index ff2d4b76820ed7..50c42087d2fa2c 100644 --- a/clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp +++ b/clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp @@ -135,8 +135,8 @@ static void sanitizeDiagOpts(DiagnosticOptions &DiagOpts) { DiagOpts.ShowCarets = false; // Don't write out diagnostic file. DiagOpts.DiagnosticSerializationFile.clear(); - // Don't emit warnings as errors (and all other warnings too). - DiagOpts.IgnoreWarnings = true; + // Don't treat warnings as errors. + DiagOpts.Warnings.push_back("no-error"); } /// A clang tool that runs the preprocessor in a mode that's optimized for diff --git a/clang/test/ClangScanDeps/diagnostic-pragmas.c b/clang/test/ClangScanDeps/diagnostic-pragmas.c deleted file mode 100644 index 520f82047d2b12..00000000000000 --- a/clang/test/ClangScanDeps/diagnostic-pragmas.c +++ /dev/null @@ -1,35 +0,0 @@ -// Test scanning deps does not have more errors than the regular compilation. - -// RUN: rm -rf %t -// RUN: split-file %s %t -// RUN: sed "s|DIR|%/t|g" %t/cdb.json.template > %t/cdb.json - -// Check the regular compilation does not fail. -// RUN: %clang -fsyntax-only %t/test.c -I %t/include -fmodules -fimplicit-module-maps -fmodules-cache-path=%t/cache -Wnon-modular-include-in-module -Werror=non-modular-include-in-module - -// And now scanning deps should succeed too. -// RUN: clang-scan-deps -compilation-database %t/cdb.json -j 1 - -//--- cdb.json.template -[ - { - "directory": "DIR", - "command": "clang -fsyntax-only DIR/test.c -I DIR/include -fmodules -fimplicit-module-maps -fmodules-cache-path=DIR/cache -Wnon-modular-include-in-module -Werror=non-modular-include-in-module", - "file": "DIR/test.c" - }, -] - -//--- include/nonmodular.h -// empty - -//--- include/modular-includer.h -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wnon-modular-include-in-module" -#include -#pragma clang diagnostic pop - -//--- include/module.modulemap -module ModularIncluder { header "modular-includer.h" } - -//--- test.c -#include