Implement support for -w, which silences all warnings. PR2384.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@51683 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/Driver/clang.cpp b/Driver/clang.cpp
index 21f1eb4..714b03e 100644
--- a/Driver/clang.cpp
+++ b/Driver/clang.cpp
@@ -462,6 +462,9 @@
WarningsAsErrors("Werror", llvm::cl::desc("Treat all warnings as errors"));
static llvm::cl::opt<bool>
+SilenceWarnings("w", llvm::cl::desc("Do not emit any warnings"));
+
+static llvm::cl::opt<bool>
WarnOnExtensions("pedantic", llvm::cl::init(false),
llvm::cl::desc("Issue a warning on uses of GCC extensions"));
@@ -492,6 +495,7 @@
/// InitializeDiagnostics - Initialize the diagnostic object, based on the
/// current command line option settings.
static void InitializeDiagnostics(Diagnostic &Diags) {
+ Diags.setIgnoreAllWarnings(SilenceWarnings);
Diags.setWarningsAsErrors(WarningsAsErrors);
Diags.setWarnOnExtensions(WarnOnExtensions);
Diags.setErrorOnExtensions(ErrorOnExtensions);