aboutsummaryrefslogtreecommitdiff
path: root/Driver/clang.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Driver/clang.cpp')
-rw-r--r--Driver/clang.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/Driver/clang.cpp b/Driver/clang.cpp
index ef12eaf2c2..0efe56a350 100644
--- a/Driver/clang.cpp
+++ b/Driver/clang.cpp
@@ -520,6 +520,11 @@ ErrorOnExtensions("pedantic-errors",
llvm::cl::desc("Issue an error on uses of GCC extensions"));
static llvm::cl::opt<bool>
+SuppressSystemWarnings("suppress-system-warnings",
+ llvm::cl::desc("Issue an error on uses of GCC extensions"),
+ llvm::cl::init(true));
+
+static llvm::cl::opt<bool>
WarnUnusedMacros("Wunused_macros",
llvm::cl::desc("Warn for unused macros in the main translation unit"));
@@ -547,6 +552,9 @@ static void InitializeDiagnostics(Diagnostic &Diags) {
Diags.setWarnOnExtensions(WarnOnExtensions);
Diags.setErrorOnExtensions(ErrorOnExtensions);
+ // Suppress warnings in system headers unless requested not to.
+ Diags.setSuppressSystemWarnings(SuppressSystemWarnings);
+
// Silence the "macro is not used" warning unless requested.
if (!WarnUnusedMacros)
Diags.setDiagnosticMapping(diag::pp_macro_not_used, diag::MAP_IGNORE);