Revert r253582: "clang-cl: Make /W4 imply -Wall -Wextra (PR25563)"
The patch expanded the flag *at the end*, breaking invocations like:
clang-cl /W4 -Wno-unused-parameter
Reverting for now.
llvm-svn: 253678
diff --git a/clang/docs/UsersManual.rst b/clang/docs/UsersManual.rst
index ca2be4b..b509894 100644
--- a/clang/docs/UsersManual.rst
+++ b/clang/docs/UsersManual.rst
@@ -2173,7 +2173,7 @@
/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
diff --git a/clang/include/clang/Driver/CLCompatOptions.td b/clang/include/clang/Driver/CLCompatOptions.td
index e1590ee..a8282b4 100644
--- a/clang/include/clang/Driver/CLCompatOptions.td
+++ b/clang/include/clang/Driver/CLCompatOptions.td
@@ -115,12 +115,12 @@
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">,
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp
index 490b009..c53a016 100644
--- a/clang/lib/Driver/Tools.cpp
+++ b/clang/lib/Driver/Tools.cpp
@@ -5684,26 +5684,6 @@
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 {
diff --git a/clang/test/Driver/cl-options.c b/clang/test/Driver/cl-options.c
index c21d104..180b15e 100644
--- a/clang/test/Driver/cl-options.c
+++ b/clang/test/Driver/cl-options.c
@@ -173,15 +173,10 @@
// 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