aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/clang/Driver/Options.def2
-rw-r--r--lib/Driver/Driver.cpp5
2 files changed, 5 insertions, 2 deletions
diff --git a/include/clang/Driver/Options.def b/include/clang/Driver/Options.def
index febf2e0ffc..681c8ebbb9 100644
--- a/include/clang/Driver/Options.def
+++ b/include/clang/Driver/Options.def
@@ -268,6 +268,8 @@ OPTION("-ObjC", ObjC, Flag, INVALID, INVALID, "d", 0,
OPTION("-O", O, Joined, O_Group, INVALID, "", 0, 0, 0)
OPTION("-P", P, Flag, INVALID, INVALID, "", 0, 0, 0)
OPTION("-Qn", Qn, Flag, INVALID, INVALID, "", 0, 0, 0)
+OPTION("-Qunused-arguments", Qunused_arguments, Flag, INVALID, INVALID, "d", 0,
+ "Don't emit warning for unused driver arguments", 0)
OPTION("-Q", Q, Flag, INVALID, INVALID, "", 0, 0, 0)
OPTION("-R", R, Flag, INVALID, INVALID, "", 0, 0, 0)
OPTION("-S", S, Flag, INVALID, INVALID, "d", 0,
diff --git a/lib/Driver/Driver.cpp b/lib/Driver/Driver.cpp
index a1c80a1479..7890e72de6 100644
--- a/lib/Driver/Driver.cpp
+++ b/lib/Driver/Driver.cpp
@@ -792,8 +792,9 @@ void Driver::BuildJobs(Compilation &C) const {
II);
}
- // If there were errors, don't warn about any unused arguments.
- if (Diags.getNumErrors())
+ // If the user passed -Qunused-arguments or there were errors, don't
+ // warn about any unused arguments.
+ if (Diags.getNumErrors() || C.getArgs().hasArg(options::OPT_Qunused_arguments))
return;
// Claim -### here.