diff options
-rw-r--r-- | clang/docs/UsersManual.rst | 2 | ||||
-rw-r--r-- | clang/include/clang/Driver/CLCompatOptions.td | 12 | ||||
-rw-r--r-- | clang/lib/Driver/Tools.cpp | 20 | ||||
-rw-r--r-- | clang/test/Driver/cl-options.c | 7 |
4 files changed, 8 insertions, 33 deletions
diff --git a/clang/docs/UsersManual.rst b/clang/docs/UsersManual.rst index ca2be4b46e8..b50989471da 100644 --- a/clang/docs/UsersManual.rst +++ b/clang/docs/UsersManual.rst @@ -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 diff --git a/clang/include/clang/Driver/CLCompatOptions.td b/clang/include/clang/Driver/CLCompatOptions.td index e1590eede78..a8282b46e05 100644 --- a/clang/include/clang/Driver/CLCompatOptions.td +++ b/clang/include/clang/Driver/CLCompatOptions.td @@ -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">, diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp index 490b009e8ea..c53a016be56 100644 --- a/clang/lib/Driver/Tools.cpp +++ b/clang/lib/Driver/Tools.cpp @@ -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 { diff --git a/clang/test/Driver/cl-options.c b/clang/test/Driver/cl-options.c index c21d104ad99..180b15ead39 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 |