<div dir="ltr">(...but it looks like these are all just warnings. The reason the builder is red is<div><br></div><div><div>In file included from C:\buildbot\slave-config\clang-x86-win2008-selfhost\llvm\unittests\Support\ThreadPool.cpp:10:</div><div>C:\buildbot\slave-config\clang-x86-win2008-selfhost\llvm\include\llvm/Support/ThreadPool.h(73,50) : error: no matching function for call to object of type 'const std::_Bind<true, void, void (*const)(std::atomic_int &, int), std::reference_wrapper<std::atomic_int>, unsigned int &>'</div><div> return asyncImpl([Task] (VoidTy) -> VoidTy { Task(); return VoidTy(); });</div><div> ^~~~</div></div><div><br></div><div>which is Mehdi's ThreadPool breakage from yesterday night. I guess his workaround broke building clang with clang-cl?)</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Dec 15, 2015 at 2:56 PM, Nico Weber <span dir="ltr"><<a href="mailto:thakis@chromium.org" target="_blank">thakis@chromium.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">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".<div><br></div><div>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?</div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Dec 15, 2015 at 12:11 PM, Nico Weber <span dir="ltr"><<a href="mailto:thakis@chromium.org" target="_blank">thakis@chromium.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">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?</div><div><div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Dec 14, 2015 at 10:01 PM, Reid Kleckner via cfe-commits <span dir="ltr"><<a href="mailto:cfe-commits@lists.llvm.org" target="_blank">cfe-commits@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>So, this change makes it impossible to download the build lots from the Windows self-hosting builders because of -Wunused-parameter errors.<br></div><div><a href="http://lab.llvm.org:8011/builders/clang-x86-win2008-selfhost/builds/5103/steps/build%20stage%202/logs/stdio" target="_blank">http://lab.llvm.org:8011/builders/clang-x86-win2008-selfhost/builds/5103/steps/build%20stage%202/logs/stdio</a></div><div class="gmail_extra"><br></div><div class="gmail_extra">Maybe that's an indication that users don't really want /W4 to go to -Wextra?</div><div><div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Dec 11, 2015 at 2:31 PM, Nico Weber via cfe-commits <span dir="ltr"><<a href="mailto:cfe-commits@lists.llvm.org" target="_blank">cfe-commits@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: nico<br>
Date: Fri Dec 11 16:31:16 2015<br>
New Revision: 255382<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=255382&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=255382&view=rev</a><br>
Log:<br>
[clang-cl] Let /W4 map to -Wall -Wextra instead of just -Wall.<br>
<br>
There's no way to make a flag alias to two flags, so add a /WCL4 flag that<br>
maps to the All, Extra diag groups. Fixes PR25563.<br>
<br>
<a href="http://reviews.llvm.org/D15350" rel="noreferrer" target="_blank">http://reviews.llvm.org/D15350</a><br>
<br>
Modified:<br>
cfe/trunk/docs/UsersManual.rst<br>
cfe/trunk/include/clang/Basic/DiagnosticGroups.td<br>
cfe/trunk/include/clang/Driver/CLCompatOptions.td<br>
cfe/trunk/include/clang/Driver/Options.td<br>
cfe/trunk/test/Driver/cl-options.c<br>
<br>
Modified: cfe/trunk/docs/UsersManual.rst<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/docs/UsersManual.rst?rev=255382&r1=255381&r2=255382&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/docs/UsersManual.rst?rev=255382&r1=255381&r2=255382&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/docs/UsersManual.rst (original)<br>
+++ cfe/trunk/docs/UsersManual.rst Fri Dec 11 16:31:16 2015<br>
@@ -2080,7 +2080,7 @@ Execute ``clang-cl /?`` to see a list of<br>
/W1 Enable -Wall<br>
/W2 Enable -Wall<br>
/W3 Enable -Wall<br>
- /W4 Enable -Wall<br>
+ /W4 Enable -Wall and -Wextra<br>
/Wall Enable -Wall<br>
/WX- Do not treat warnings as errors<br>
/WX Treat warnings as errors<br>
<br>
Modified: cfe/trunk/include/clang/Basic/DiagnosticGroups.td<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticGroups.td?rev=255382&r1=255381&r2=255382&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticGroups.td?rev=255382&r1=255381&r2=255382&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/include/clang/Basic/DiagnosticGroups.td (original)<br>
+++ cfe/trunk/include/clang/Basic/DiagnosticGroups.td Fri Dec 11 16:31:16 2015<br>
@@ -663,7 +663,10 @@ def Consumed : DiagGroup<"consumed<br>
// Note that putting warnings in -Wall will not disable them by default. If a<br>
// warning should be active _only_ when -Wall is passed in, mark it as<br>
// DefaultIgnore in addition to putting it here.<br>
-def : DiagGroup<"all", [Most, Parentheses, Switch, SwitchBool]>;<br>
+def All : DiagGroup<"all", [Most, Parentheses, Switch, SwitchBool]>;<br>
+<br>
+// Warnings that should be in clang-cl /w4.<br>
+def : DiagGroup<"CL4", [All, Extra]>;<br>
<br>
// Warnings enabled by -pedantic. This is magically filled in by TableGen.<br>
def Pedantic : DiagGroup<"pedantic">;<br>
<br>
Modified: cfe/trunk/include/clang/Driver/CLCompatOptions.td<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/CLCompatOptions.td?rev=255382&r1=255381&r2=255382&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/CLCompatOptions.td?rev=255382&r1=255381&r2=255382&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/include/clang/Driver/CLCompatOptions.td (original)<br>
+++ cfe/trunk/include/clang/Driver/CLCompatOptions.td Fri Dec 11 16:31:16 2015<br>
@@ -119,7 +119,7 @@ def _SLASH_W0 : CLFlag<"W0">, HelpText<"<br>
def _SLASH_W1 : CLFlag<"W1">, HelpText<"Enable -Wall">, Alias<Wall>;<br>
def _SLASH_W2 : CLFlag<"W2">, HelpText<"Enable -Wall">, Alias<Wall>;<br>
def _SLASH_W3 : CLFlag<"W3">, HelpText<"Enable -Wall">, Alias<Wall>;<br>
-def _SLASH_W4 : CLFlag<"W4">, HelpText<"Enable -Wall">, Alias<Wall>;<br>
+def _SLASH_W4 : CLFlag<"W4">, HelpText<"Enable -Wall and -Wextra">, Alias<WCL4>;<br>
def _SLASH_Wall : CLFlag<"Wall">, HelpText<"Enable -Wall">, Alias<Wall>;<br>
def _SLASH_WX : CLFlag<"WX">, HelpText<"Treat warnings as errors">,<br>
Alias<W_Joined>, AliasArgs<["error"]>;<br>
<br>
Modified: cfe/trunk/include/clang/Driver/Options.td<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/Options.td?rev=255382&r1=255381&r2=255382&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/Options.td?rev=255382&r1=255381&r2=255382&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/include/clang/Driver/Options.td (original)<br>
+++ cfe/trunk/include/clang/Driver/Options.td Fri Dec 11 16:31:16 2015<br>
@@ -295,6 +295,7 @@ def Wa_COMMA : CommaJoined<["-"], "Wa,"><br>
HelpText<"Pass the comma separated arguments in <arg> to the assembler">,<br>
MetaVarName<"<arg>">;<br>
def Wall : Flag<["-"], "Wall">, Group<W_Group>, Flags<[CC1Option]>;<br>
+def WCL4 : Flag<["-"], "WCL4">, Group<W_Group>, Flags<[CC1Option]>;<br>
def Wdeprecated : Flag<["-"], "Wdeprecated">, Group<W_Group>, Flags<[CC1Option]>;<br>
def Wno_deprecated : Flag<["-"], "Wno-deprecated">, Group<W_Group>, Flags<[CC1Option]>;<br>
def Wextra : Flag<["-"], "Wextra">, Group<W_Group>, Flags<[CC1Option]>;<br>
<br>
Modified: cfe/trunk/test/Driver/cl-options.c<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/cl-options.c?rev=255382&r1=255381&r2=255382&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/cl-options.c?rev=255382&r1=255381&r2=255382&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/Driver/cl-options.c (original)<br>
+++ cfe/trunk/test/Driver/cl-options.c Fri Dec 11 16:31:16 2015<br>
@@ -173,9 +173,10 @@<br>
// RUN: %clang_cl /W1 -### -- %s 2>&1 | FileCheck -check-prefix=W1 %s<br>
// RUN: %clang_cl /W2 -### -- %s 2>&1 | FileCheck -check-prefix=W1 %s<br>
// RUN: %clang_cl /W3 -### -- %s 2>&1 | FileCheck -check-prefix=W1 %s<br>
-// RUN: %clang_cl /W4 -### -- %s 2>&1 | FileCheck -check-prefix=W1 %s<br>
+// RUN: %clang_cl /W4 -### -- %s 2>&1 | FileCheck -check-prefix=W4 %s<br>
// RUN: %clang_cl /Wall -### -- %s 2>&1 | FileCheck -check-prefix=W1 %s<br>
// W1: -Wall<br>
+// W4: -WCL4<br>
<br>
// RUN: %clang_cl /WX -### -- %s 2>&1 | FileCheck -check-prefix=WX %s<br>
// WX: -Werror<br>
<br>
<br>
_______________________________________________<br>
cfe-commits mailing list<br>
<a href="mailto:cfe-commits@lists.llvm.org" target="_blank">cfe-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits</a><br>
</blockquote></div><br></div></div></div></div>
<br>_______________________________________________<br>
cfe-commits mailing list<br>
<a href="mailto:cfe-commits@lists.llvm.org" target="_blank">cfe-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits</a><br>
<br></blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>