https://github.com/llvmbot created https://github.com/llvm/llvm-project/pull/126027
Backport df22bbe2beb57687c76402bc0cfdf7901a31cf29 Requested by: @kadircet >From 7bf662937a37e46baddb9b603048abfe63670790 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?kadir=20=C3=A7etinkaya?= <kadir...@google.com> Date: Thu, 6 Feb 2025 10:02:42 +0100 Subject: [PATCH] [clang] Stop parsing warning suppression mappings in driver (#125722) This gets rid of some extra IO from driver startup, and possiblity of emitting warnings twice. (cherry picked from commit df22bbe2beb57687c76402bc0cfdf7901a31cf29) --- .../test/Driver/warning-suppression-mappings-not-parsed.cpp | 5 +++++ clang/tools/driver/driver.cpp | 4 ++++ 2 files changed, 9 insertions(+) create mode 100644 clang/test/Driver/warning-suppression-mappings-not-parsed.cpp diff --git a/clang/test/Driver/warning-suppression-mappings-not-parsed.cpp b/clang/test/Driver/warning-suppression-mappings-not-parsed.cpp new file mode 100644 index 000000000000000..8f52fb1c6cc7d6c --- /dev/null +++ b/clang/test/Driver/warning-suppression-mappings-not-parsed.cpp @@ -0,0 +1,5 @@ +// RUN: rm -rf %t +// RUN: mkdir -p %t +// RUN: echo '[unknown-warning]' > %t/foo.txt +// RUN: %clang -fdriver-only --warning-suppression-mappings=%t/foo.txt %s | FileCheck -allow-empty %s +// CHECK-NOT: unknown warning option 'unknown-warning' diff --git a/clang/tools/driver/driver.cpp b/clang/tools/driver/driver.cpp index 74923247b7ee169..00c00cea16f470f 100644 --- a/clang/tools/driver/driver.cpp +++ b/clang/tools/driver/driver.cpp @@ -318,6 +318,10 @@ int clang_main(int Argc, char **Argv, const llvm::ToolContext &ToolContext) { IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts = CreateAndPopulateDiagOpts(Args); + // Driver's diagnostics don't use suppression mappings, so don't bother + // parsing them. CC1 still receives full args, so this doesn't impact other + // actions. + DiagOpts->DiagnosticSuppressionMappingsFile.clear(); TextDiagnosticPrinter *DiagClient = new TextDiagnosticPrinter(llvm::errs(), &*DiagOpts); _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits