]> granicus.if.org Git - clang/commitdiff
Revert r253582: "clang-cl: Make /W4 imply -Wall -Wextra (PR25563)"
authorHans Wennborg <hans@hanshq.net>
Fri, 20 Nov 2015 16:51:56 +0000 (16:51 +0000)
committerHans Wennborg <hans@hanshq.net>
Fri, 20 Nov 2015 16:51:56 +0000 (16:51 +0000)
The patch expanded the flag *at the end*, breaking invocations like:

  clang-cl /W4 -Wno-unused-parameter

Reverting for now.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@253678 91177308-0d34-0410-b5e6-96231b3b80d8

docs/UsersManual.rst
include/clang/Driver/CLCompatOptions.td
lib/Driver/Tools.cpp
test/Driver/cl-options.c

index ca2be4b46e8a39dd9a16332d2ed557257b0f82e9..b50989471dae40b31c10764f42e34783b008e81c 100644 (file)
@@ -2173,7 +2173,7 @@ Execute ``clang-cl /?`` to see a list of supported options:
       /W1                    Enable -Wall
       /W2                    Enable -Wall
       /W3                    Enable -Wall
-      /W4                    Enable -Wall and -Wextra
+      /W4                    Enable -Wall
       /Wall                  Enable -Wall
       /WX-                   Do not treat warnings as errors
       /WX                    Treat warnings as errors
index e1590eede78a32bba9ebc9b728fec9117d46260c..a8282b46e0586711929fc381b1a7b16a816d48c4 100644 (file)
@@ -115,12 +115,12 @@ def _SLASH_showIncludes : CLFlag<"showIncludes">,
   Alias<show_includes>;
 def _SLASH_U : CLJoinedOrSeparate<"U">, HelpText<"Undefine macro">,
   MetaVarName<"<macro>">, Alias<U>;
-def _SLASH_W0 : CLFlag<"W0">, HelpText<"Disable all warnings">;
-def _SLASH_W1 : CLFlag<"W1">, HelpText<"Enable -Wall">;
-def _SLASH_W2 : CLFlag<"W2">, HelpText<"Enable -Wall">;
-def _SLASH_W3 : CLFlag<"W3">, HelpText<"Enable -Wall">;
-def _SLASH_W4 : CLFlag<"W4">, HelpText<"Enable -Wall and -Wextra">;
-def _SLASH_Wall : CLFlag<"Wall">, HelpText<"Enable -Wall">;
+def _SLASH_W0 : CLFlag<"W0">, HelpText<"Disable all warnings">, Alias<w>;
+def _SLASH_W1 : CLFlag<"W1">, HelpText<"Enable -Wall">, Alias<Wall>;
+def _SLASH_W2 : CLFlag<"W2">, HelpText<"Enable -Wall">, Alias<Wall>;
+def _SLASH_W3 : CLFlag<"W3">, HelpText<"Enable -Wall">, Alias<Wall>;
+def _SLASH_W4 : CLFlag<"W4">, HelpText<"Enable -Wall">, Alias<Wall>;
+def _SLASH_Wall : CLFlag<"Wall">, HelpText<"Enable -Wall">, Alias<Wall>;
 def _SLASH_WX : CLFlag<"WX">, HelpText<"Treat warnings as errors">,
   Alias<W_Joined>, AliasArgs<["error"]>;
 def _SLASH_WX_ : CLFlag<"WX-">, HelpText<"Do not treat warnings as errors">,
index 490b009e8ea85ac6a57cc31e3034d7be6e7fb14f..c53a016be56178a5b1c8af6773e795716d7813c3 100644 (file)
@@ -5684,26 +5684,6 @@ void Clang::AddClangCLArgs(const ArgList &Args, ArgStringList &CmdArgs,
     else
       CmdArgs.push_back("msvc");
   }
-
-  if (Arg *A =
-          Args.getLastArg(options::OPT__SLASH_W0, options::OPT__SLASH_W1,
-                          options::OPT__SLASH_W2, options::OPT__SLASH_W3,
-                          options::OPT__SLASH_W4, options::OPT__SLASH_Wall)) {
-    switch (A->getOption().getID()) {
-    case options::OPT__SLASH_W0:
-      CmdArgs.push_back("-w");
-      break;
-    case options::OPT__SLASH_W4:
-      CmdArgs.push_back("-Wextra");
-      // Fallthrough.
-    case options::OPT__SLASH_W1:
-    case options::OPT__SLASH_W2:
-    case options::OPT__SLASH_W3:
-    case options::OPT__SLASH_Wall:
-      CmdArgs.push_back("-Wall");
-      break;
-    }
-  }
 }
 
 visualstudio::Compiler *Clang::getCLFallback() const {
index c21d104ad991d83349a211af242b4e46d11debd8..180b15ead391d229fb53580f0fc16a5d8413c31d 100644 (file)
 // RUN: %clang_cl /W1 -### -- %s 2>&1 | FileCheck -check-prefix=W1 %s
 // RUN: %clang_cl /W2 -### -- %s 2>&1 | FileCheck -check-prefix=W1 %s
 // RUN: %clang_cl /W3 -### -- %s 2>&1 | FileCheck -check-prefix=W1 %s
+// RUN: %clang_cl /W4 -### -- %s 2>&1 | FileCheck -check-prefix=W1 %s
 // RUN: %clang_cl /Wall -### -- %s 2>&1 | FileCheck -check-prefix=W1 %s
 // W1: -Wall
 
-// RUN: %clang_cl /W4 -### -- %s 2>&1 | FileCheck -check-prefix=W4 %s
-// W4: -Wextra
-// W4: -Wall
-// RUN: %clang_cl /W4 /W1 -### -- %s 2>&1 | FileCheck -check-prefix=W4W1 %s
-// W4W1-NOT: -Wextra
-
 // RUN: %clang_cl /WX -### -- %s 2>&1 | FileCheck -check-prefix=WX %s
 // WX: -Werror