Driver: Add -Qunused-arguments option to suppress driver "unused
arguments" warning.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68410 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/clang/Driver/Options.def b/include/clang/Driver/Options.def
index febf2e0..681c8eb 100644
--- a/include/clang/Driver/Options.def
+++ b/include/clang/Driver/Options.def
@@ -268,6 +268,8 @@
 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 a1c80a1..7890e72 100644
--- a/lib/Driver/Driver.cpp
+++ b/lib/Driver/Driver.cpp
@@ -792,8 +792,9 @@
                        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.