On Tue, Dec 15, 2015 at 2:56 PM, Nico Weber <tha...@chromium.org> wrote:
> Looks like the warning is still emitted frequently. It looks like cl.exe > processes /W4 before /wd4100 even though if it's passed as "/wd4100 /W4". > clang-cl probably interprets this as "first, disable Wunused-parameter, > then turn on everything in Wall and Wextra". > > I suppose we could process W1-4 before all other warning flags to be > compatible with cl.exe in this regard. However, it's less clear what to do > about /Wall -- if we process /Wall before all the other flags, then -Wall > (another spelling of /Wall) will behave differently in clang and clang-cl. > Maybe that's ok? > Until we decide on something for this, http://reviews.llvm.org/D15731 should make the self-host build less noisy. > > On Tue, Dec 15, 2015 at 12:11 PM, Nico Weber <tha...@chromium.org> wrote: > >> 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@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@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@lists.llvm.org >>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits >>>> >>> >>> >>> _______________________________________________ >>> cfe-commits mailing list >>> cfe-commits@lists.llvm.org >>> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits >>> >>> >> >
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits