r255382 - [clang-cl] Let /W4 map to -Wall -Wextra instead of just -Wall.

Nico Weber via cfe-commits cfe-commits at lists.llvm.org
Tue Dec 15 09:11:01 PST 2015


Feedback on PR25563 pretty strongly suggests that users do want most of
this. It looks like llvm passes /wd4100 to suppress the corresponding cl
warning. r255655 maps that to -Wno-unused-parameter – does this fix the
problem of these bots?

On Mon, Dec 14, 2015 at 10:01 PM, Reid Kleckner via cfe-commits <
cfe-commits at lists.llvm.org> wrote:

> So, this change makes it impossible to download the build lots from the
> Windows self-hosting builders because of -Wunused-parameter errors.
>
> http://lab.llvm.org:8011/builders/clang-x86-win2008-selfhost/builds/5103/steps/build%20stage%202/logs/stdio
>
> Maybe that's an indication that users don't really want /W4 to go to
> -Wextra?
>
> On Fri, Dec 11, 2015 at 2:31 PM, Nico Weber via cfe-commits <
> cfe-commits at lists.llvm.org> wrote:
>
>> Author: nico
>> Date: Fri Dec 11 16:31:16 2015
>> New Revision: 255382
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=255382&view=rev
>> Log:
>> [clang-cl] Let /W4 map to -Wall -Wextra instead of just -Wall.
>>
>> There's no way to make a flag alias to two flags, so add a /WCL4 flag that
>> maps to the All, Extra diag groups.  Fixes PR25563.
>>
>> http://reviews.llvm.org/D15350
>>
>> Modified:
>>     cfe/trunk/docs/UsersManual.rst
>>     cfe/trunk/include/clang/Basic/DiagnosticGroups.td
>>     cfe/trunk/include/clang/Driver/CLCompatOptions.td
>>     cfe/trunk/include/clang/Driver/Options.td
>>     cfe/trunk/test/Driver/cl-options.c
>>
>> Modified: cfe/trunk/docs/UsersManual.rst
>> URL:
>> http://llvm.org/viewvc/llvm-project/cfe/trunk/docs/UsersManual.rst?rev=255382&r1=255381&r2=255382&view=diff
>>
>> ==============================================================================
>> --- cfe/trunk/docs/UsersManual.rst (original)
>> +++ cfe/trunk/docs/UsersManual.rst Fri Dec 11 16:31:16 2015
>> @@ -2080,7 +2080,7 @@ Execute ``clang-cl /?`` to see a list of
>>        /W1                    Enable -Wall
>>        /W2                    Enable -Wall
>>        /W3                    Enable -Wall
>> -      /W4                    Enable -Wall
>> +      /W4                    Enable -Wall and -Wextra
>>        /Wall                  Enable -Wall
>>        /WX-                   Do not treat warnings as errors
>>        /WX                    Treat warnings as errors
>>
>> Modified: cfe/trunk/include/clang/Basic/DiagnosticGroups.td
>> URL:
>> http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticGroups.td?rev=255382&r1=255381&r2=255382&view=diff
>>
>> ==============================================================================
>> --- cfe/trunk/include/clang/Basic/DiagnosticGroups.td (original)
>> +++ cfe/trunk/include/clang/Basic/DiagnosticGroups.td Fri Dec 11 16:31:16
>> 2015
>> @@ -663,7 +663,10 @@ def Consumed       : DiagGroup<"consumed
>>  // Note that putting warnings in -Wall will not disable them by default.
>> If a
>>  // warning should be active _only_ when -Wall is passed in, mark it as
>>  // DefaultIgnore in addition to putting it here.
>> -def : DiagGroup<"all", [Most, Parentheses, Switch, SwitchBool]>;
>> +def All : DiagGroup<"all", [Most, Parentheses, Switch, SwitchBool]>;
>> +
>> +// Warnings that should be in clang-cl /w4.
>> +def : DiagGroup<"CL4", [All, Extra]>;
>>
>>  // Warnings enabled by -pedantic.  This is magically filled in by
>> TableGen.
>>  def Pedantic : DiagGroup<"pedantic">;
>>
>> Modified: cfe/trunk/include/clang/Driver/CLCompatOptions.td
>> URL:
>> http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/CLCompatOptions.td?rev=255382&r1=255381&r2=255382&view=diff
>>
>> ==============================================================================
>> --- cfe/trunk/include/clang/Driver/CLCompatOptions.td (original)
>> +++ cfe/trunk/include/clang/Driver/CLCompatOptions.td Fri Dec 11 16:31:16
>> 2015
>> @@ -119,7 +119,7 @@ def _SLASH_W0 : CLFlag<"W0">, HelpText<"
>>  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_W4 : CLFlag<"W4">, HelpText<"Enable -Wall and -Wextra">,
>> Alias<WCL4>;
>>  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"]>;
>>
>> Modified: cfe/trunk/include/clang/Driver/Options.td
>> URL:
>> http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/Options.td?rev=255382&r1=255381&r2=255382&view=diff
>>
>> ==============================================================================
>> --- cfe/trunk/include/clang/Driver/Options.td (original)
>> +++ cfe/trunk/include/clang/Driver/Options.td Fri Dec 11 16:31:16 2015
>> @@ -295,6 +295,7 @@ def Wa_COMMA : CommaJoined<["-"], "Wa,">
>>    HelpText<"Pass the comma separated arguments in <arg> to the
>> assembler">,
>>    MetaVarName<"<arg>">;
>>  def Wall : Flag<["-"], "Wall">, Group<W_Group>, Flags<[CC1Option]>;
>> +def WCL4 : Flag<["-"], "WCL4">, Group<W_Group>, Flags<[CC1Option]>;
>>  def Wdeprecated : Flag<["-"], "Wdeprecated">, Group<W_Group>,
>> Flags<[CC1Option]>;
>>  def Wno_deprecated : Flag<["-"], "Wno-deprecated">, Group<W_Group>,
>> Flags<[CC1Option]>;
>>  def Wextra : Flag<["-"], "Wextra">, Group<W_Group>, Flags<[CC1Option]>;
>>
>> Modified: cfe/trunk/test/Driver/cl-options.c
>> URL:
>> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/cl-options.c?rev=255382&r1=255381&r2=255382&view=diff
>>
>> ==============================================================================
>> --- cfe/trunk/test/Driver/cl-options.c (original)
>> +++ cfe/trunk/test/Driver/cl-options.c Fri Dec 11 16:31:16 2015
>> @@ -173,9 +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 /W4 -### -- %s 2>&1 | FileCheck -check-prefix=W4 %s
>>  // RUN: %clang_cl /Wall -### -- %s 2>&1 | FileCheck -check-prefix=W1 %s
>>  // W1: -Wall
>> +// W4: -WCL4
>>
>>  // RUN: %clang_cl /WX -### -- %s 2>&1 | FileCheck -check-prefix=WX %s
>>  // WX: -Werror
>>
>>
>> _______________________________________________
>> cfe-commits mailing list
>> cfe-commits at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
>>
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20151215/114a9f04/attachment.html>


More information about the cfe-commits mailing list