<div dir="rtl"><div dir="ltr">It is same in the IDE and command line, Release or Debug (unthreaded), 32 bit. </div><div dir="ltr">The warning is:</div><div dir="ltr"><br></div><div dir="ltr"><div dir="ltr"><font face="monospace, monospace">  PPMacroExpansion.cpp</font></div><div dir="ltr"><font face="monospace, monospace">c:\llvm\include\llvm/Support/AlignOf.h(25): warning C4324: 'llvm::AlignmentCalcImpl<T>' : structure was padded due to</font></div><div dir="ltr"><font face="monospace, monospace">__declspec(align()) [c:\llvm\msvc\tools\clang\lib\Lex\clangLex.vcxproj]</font></div><div dir="ltr"><font face="monospace, monospace">          with</font></div><div dir="ltr"><font face="monospace, monospace">          [</font></div><div dir="ltr"><font face="monospace, monospace">              T=clang::SrcMgr::ContentCache</font></div><div dir="ltr"><font face="monospace, monospace">          ] (c:\llvm\tools\clang\lib\Lex\PPCaching.cpp)</font></div><div dir="ltr"><font face="monospace, monospace">          c:\llvm\include\llvm/Support/AlignOf.h(40) : see reference to class template instantiation 'llvm::AlignmentC</font></div><div dir="ltr"><font face="monospace, monospace">  alcImpl<T>' being compiled</font></div><div dir="ltr"><font face="monospace, monospace">          with</font></div><div dir="ltr"><font face="monospace, monospace">          [</font></div><div dir="ltr"><font face="monospace, monospace">              T=clang::SrcMgr::ContentCache</font></div><div dir="ltr"><font face="monospace, monospace">          ]</font></div><div dir="ltr"><font face="monospace, monospace">          c:\llvm\tools\clang\include\clang/Basic/SourceManager.h(225) : see reference to class template instantiation</font></div><div dir="ltr"><font face="monospace, monospace">   'llvm::AlignOf<clang::SrcMgr::ContentCache>' being compiled</font></div><div><br></div><div>referring to SourceManager.h(225):</div><div><br></div><div><div><font face="monospace, monospace">  static_assert(llvm::AlignOf<ContentCache>::Alignment >= 8,</font></div><div><font face="monospace, monospace">                "ContentCache must be 8-byte aligned.");</font></div></div><div><br></div><div>And appears whenever SourceManager.h is included, a lot.</div><div><br></div><div>The compiler is Microsoft Visual Studio Ultimate 2013,  Version 12.0.31101.00 Update 4.</div><div><br></div><div>I'll try threaded build now.</div><div><br></div><div><br></div></div></div><div class="gmail_extra"><br><div class="gmail_quote"><div dir="ltr">2015-04-16 15:34 GMT+03:00 Aaron Ballman <span dir="ltr"><<a href="mailto:aaron@aaronballman.com" target="_blank">aaron@aaronballman.com</a>></span>:</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Thu, Apr 16, 2015 at 8:27 AM, Yaron Keren <<a href="mailto:yaron.keren@gmail.com">yaron.keren@gmail.com</a>> wrote:<br>
> That's a good question, maybe build definitions? I use:<br>
><br>
> cmake -G "Visual Studio 12" -DLLVM_INCLUDE_EXAMPLES=ON<br>
> -DLLVM_INCLUDE_TESTS=ON -DLLVM_INCLUDE_DOCS=OFF -DLLVM_ENABLE_ASSERTIONS=ON<br>
> -DLLVM_ENABLE_THREADS:BOOL=OFF  -DLLVM_USE_CRT_DEBUG=MTd ..<br>
> "c:\Program Files (x86)\MSBuild\12.0\Bin\msbuild.exe" llvm.sln<br>
> /target:ALL_BUILD /property:Configuration=Release<br>
><br>
> I'll try to to see what may be relevant to the C4324 warnings. They appear a<br>
> lot.<br>
<br>
</span>The only differences I can see is that I build using the MSVC ide<br>
itself instead of invoking msbuild from the command line, and I am<br>
doing a debug build that is threaded. If you build from the IDE, do<br>
you see the warnings as well, or they silenced for you?<br>
<span class="HOEnZb"><font color="#888888"><br>
~Aaron<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
><br>
><br>
><br>
> 2015-04-16 15:15 GMT+03:00 Aaron Ballman <<a href="mailto:aaron@aaronballman.com">aaron@aaronballman.com</a>>:<br>
>><br>
>> On Thu, Apr 16, 2015 at 6:24 AM, Yaron Keren <<a href="mailto:yaron.keren@gmail.com">yaron.keren@gmail.com</a>><br>
>> wrote:<br>
>> > This patch disables 4324, 'structure was padded due to<br>
>> > __declspec(align())'.<br>
>> ><br>
>> > OK to commit?<br>
>><br>
>> Patch itself looks good, but I do have two questions before the LGTM.<br>
>> I am not seeing any of these warnings in my MSVC build for some<br>
>> reason, so that's a bit concerning. Takumi's builders are also showing<br>
>> up clean. So why are you seeing warnings that others are not? My other<br>
>> question is, how many of these C4324 warnings are with published<br>
>> headers? We should fix the code in those cases, if it's not overly<br>
>> onerous, because having our published headers build cleanly is<br>
>> important for out of tree projects.<br>
>><br>
>> Thanks!<br>
>><br>
>> ~Aaron<br>
>><br>
>> ><br>
>> ><br>
>> > 2015-04-15 15:13 GMT+03:00 NAKAMURA Takumi <<a href="mailto:geek4civic@gmail.com">geek4civic@gmail.com</a>>:<br>
>> >><br>
>> >> It'd be good idea for published headers to be W4-clean, even if they<br>
>> >> were ugly for us.<br>
>> >><br>
>> >> 2015-04-15 21:10 GMT+09:00 Aaron Ballman <<a href="mailto:aaron@aaronballman.com">aaron@aaronballman.com</a>>:<br>
>> >> > On Wed, Apr 15, 2015 at 3:49 AM, Yaron Keren <<a href="mailto:yaron.keren@gmail.com">yaron.keren@gmail.com</a>><br>
>> >> > wrote:<br>
>> >> >> Hi,<br>
>> >> >><br>
>> >> >> Now with real /W4 in effect, there are new warnings<br>
>> >> >><br>
>> >> >>  lib\support\Windows/TimeValue.inc(48): warning C4189: 'Error' :<br>
>> >> >> local<br>
>> >> >> variable is initialized but not referenced<br>
>> >> ><br>
>> >> > Thank you for fixing this one!<br>
>> >> ><br>
>> >> >><br>
>> >> >>  lib\transforms\utils\lcssa.cpp(345): warning C4718: 'verifyLoop' :<br>
>> >> >> recursive call has no side effects, deleting<br>
>> >> ><br>
>> >> > I think this one has pointed out a possible issue, but likely a<br>
>> >> > benign<br>
>> >> > one. It looks like the point to that recursive call was the assert,<br>
>> >> > but the code was commit with the assert commented out in r200067.<br>
>> >> ><br>
>> >> >><br>
>> >> >> and tons of :<br>
>> >> >><br>
>> >> >>  include\llvm/Support/AlignOf.h(25): warning C4324:<br>
>> >> >> 'llvm::AlignmentCalcImpl<T>' : structure was padded due to<br>
>> >> >> __declspec(align())<br>
>> >> ><br>
>> >> > I think this warning can be globally disabled, but it might be nice<br>
>> >> > to<br>
>> >> > selectively enable it for headers we expose to the C API?<br>
>> >> ><br>
>> >> > ~Aaron<br>
>> >> ><br>
>> >> >><br>
>> >> >> I fixed the first warning in r234982 but not sure if the other<br>
>> >> >> warnings<br>
>> >> >> should be disabled or the code fixed.<br>
>> >> >><br>
>> >> >> Yaron<br>
>> >> >><br>
>> >> >><br>
>> >> >> 2015-04-14 2:46 GMT+03:00 Zachary Turner <<a href="mailto:zturner@google.com">zturner@google.com</a>>:<br>
>> >> >>><br>
>> >> >>> Will commit the patch to strip /W3 tomorrow morning if there's no<br>
>> >> >>> further<br>
>> >> >>> objections.<br>
>> >> >>><br>
>> >> >>> On Mon, Apr 13, 2015 at 12:25 PM Aaron Ballman<br>
>> >> >>> <<a href="mailto:aaron@aaronballman.com">aaron@aaronballman.com</a>><br>
>> >> >>> wrote:<br>
>> >> >>>><br>
>> >> >>>> On Mon, Apr 13, 2015 at 3:21 PM, Zachary Turner<br>
>> >> >>>> <<a href="mailto:zturner@google.com">zturner@google.com</a>><br>
>> >> >>>> wrote:<br>
>> >> >>>> > I think I figured all this out (mostly).  Basically it only<br>
>> >> >>>> > happens<br>
>> >> >>>> > with<br>
>> >> >>>> > Ninja.  Ninja doesn't know what command line options actually<br>
>> >> >>>> > mean,<br>
>> >> >>>> > it<br>
>> >> >>>> > just<br>
>> >> >>>> > makes a big list of them and passes them through for each file.<br>
>> >> >>>> > The<br>
>> >> >>>> > Visual<br>
>> >> >>>> > Studio generator has to know, because to make a meaningful<br>
>> >> >>>> > Visual<br>
>> >> >>>> > Studio<br>
>> >> >>>> > project it has to generate XML with semantic tags like<br>
>> >> >>>> > <WarningLevel>Level4</WarningLevel>.  So I think what happens is<br>
>> >> >>>> > the<br>
>> >> >>>> > Visual<br>
>> >> >>>> > Studio generator seems /W3 then later sees /W4 and only<br>
>> >> >>>> > generates<br>
>> >> >>>> > one<br>
>> >> >>>> > tag in<br>
>> >> >>>> > the vcxproj (I confirmed that even in my case where /W3 and /W4<br>
>> >> >>>> > are<br>
>> >> >>>> > part of<br>
>> >> >>>> > CMAKE_CXX_FLAGS, Only a single<br>
>> >> >>>> > <WarningLevel>Level4</WarningLevel><br>
>> >> >>>> > goes<br>
>> >> >>>> > into<br>
>> >> >>>> > the vcxproj.<br>
>> >> >>>> ><br>
>> >> >>>> > There's still the question of why your CMAKE_CXX_FLAGS doesn't<br>
>> >> >>>> > contain<br>
>> >> >>>> > anything, and I'm not sure about that.  But I don't think it<br>
>> >> >>>> > matters<br>
>> >> >>>> > much,<br>
>> >> >>>> > because you would be seeing the same behavior with Visual Studio<br>
>> >> >>>> > either<br>
>> >> >>>> > way<br>
>> >> >>>> > (namely, that it would work).<br>
>> >> >>>> ><br>
>> >> >>>> > On the other hand, ninja just appends commands line and passes<br>
>> >> >>>> > them<br>
>> >> >>>> > all<br>
>> >> >>>> > through without knowing what they mean, so it can't be made<br>
>> >> >>>> > smart<br>
>> >> >>>> > enough to<br>
>> >> >>>> > know that /W3 and /W4 should be collapsed.  You can verify that<br>
>> >> >>>> > running<br>
>> >> >>>> > "cl<br>
>> >> >>>> > /W3 /W4 foo.cpp" will reproduce the error, for example.<br>
>> >> >>>> ><br>
>> >> >>>> > The patch I included earlier removes /W3 from the command line,<br>
>> >> >>>> > but<br>
>> >> >>>> > only if<br>
>> >> >>>> > it's about to append /W4.  I think this should cover everything?<br>
>> >> >>>> > Aaron<br>
>> >> >>>> > raised a question on IRC about what happens if the user manually<br>
>> >> >>>> > specifies a<br>
>> >> >>>> > warning level on the command line.  I don't have a good answer<br>
>> >> >>>> > to<br>
>> >> >>>> > that,<br>
>> >> >>>> > other than to say that if you manually write<br>
>> >> >>>> > CMAKE_CXX_FLAGS:STRING="/W2" or<br>
>> >> >>>> > something at CMake time, the current patch is already messed up<br>
>> >> >>>> > as<br>
>> >> >>>> > it<br>
>> >> >>>> > will<br>
>> >> >>>> > then append /W4 which in the best could would overwrite your /W2<br>
>> >> >>>> > setting,<br>
>> >> >>>> > and in the worst case would give the warnings I'm seeing here.<br>
>> >> >>>> > So<br>
>> >> >>>> > I<br>
>> >> >>>> > feel<br>
>> >> >>>> > like we should just be able to ignore this case, and if it<br>
>> >> >>>> > becomes<br>
>> >> >>>> > an<br>
>> >> >>>> > issue<br>
>> >> >>>> > for someone in the future, we can add something like<br>
>> >> >>>> > -DMSVC_WARNING_LEVEL<br>
>> >> >>>> > which will allow us a better means to be able to override the<br>
>> >> >>>> > /W4<br>
>> >> >>>> > with<br>
>> >> >>>> > something else.<br>
>> >> >>>><br>
>> >> >>>> If we're not regressing behavior with the patch you posted, then I<br>
>> >> >>>> think that patch is good. We definitely don't want a ton of<br>
>> >> >>>> warnings<br>
>> >> >>>> with Ninja.<br>
>> >> >>>><br>
>> >> >>>> ~Aaron<br>
>> >> >>>><br>
>> >> >>>> ><br>
>> >> >>>> > On Mon, Apr 13, 2015 at 12:11 PM Kaylor, Andrew<br>
>> >> >>>> > <<a href="mailto:andrew.kaylor@intel.com">andrew.kaylor@intel.com</a>><br>
>> >> >>>> > wrote:<br>
>> >> >>>> >><br>
>> >> >>>> >> I’m not set up for Ninja, so I get this:<br>
>> >> >>>> >><br>
>> >> >>>> >><br>
>> >> >>>> >><br>
>> >> >>>> >> CMake Error: CMake was unable to find a build program<br>
>> >> >>>> >> corresponding to<br>
>> >> >>>> >> "Ninja".<br>
>> >> >>>> >><br>
>> >> >>>> >><br>
>> >> >>>> >><br>
>> >> >>>> >><br>
>> >> >>>> >><br>
>> >> >>>> >> But really I don’t know how much time it’s worth spending to<br>
>> >> >>>> >> figure<br>
>> >> >>>> >> out<br>
>> >> >>>> >> why it isn’t happening to me.  It is happening to you so we<br>
>> >> >>>> >> need<br>
>> >> >>>> >> to<br>
>> >> >>>> >> fix it.<br>
>> >> >>>> >><br>
>> >> >>>> >><br>
>> >> >>>> >><br>
>> >> >>>> >><br>
>> >> >>>> >><br>
>> >> >>>> >> From: Zachary Turner [mailto:<a href="mailto:zturner@google.com">zturner@google.com</a>]<br>
>> >> >>>> >> Sent: Monday, April 13, 2015 12:02 PM<br>
>> >> >>>> >><br>
>> >> >>>> >><br>
>> >> >>>> >> To: Kaylor, Andrew; Aaron Ballman<br>
>> >> >>>> >> Cc: <a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
>> >> >>>> >> Subject: Re: [llvm] r234343 - Enable W4 warnings by default for<br>
>> >> >>>> >> MSVC<br>
>> >> >>>> >> builds<br>
>> >> >>>> >><br>
>> >> >>>> >><br>
>> >> >>>> >><br>
>> >> >>>> >> Can you try the ninja generator?  First run "vcvarsall amd64",<br>
>> >> >>>> >> then<br>
>> >> >>>> >> just<br>
>> >> >>>> >> run "cmake -G Ninja f:\users\akaylor\llvm-s\llvm".  That's the<br>
>> >> >>>> >> only<br>
>> >> >>>> >> difference I can see in what we're doing.<br>
>> >> >>>> >><br>
>> >> >>>> >><br>
>> >> >>>> >><br>
>> >> >>>> >> On Mon, Apr 13, 2015 at 12:00 PM Kaylor, Andrew<br>
>> >> >>>> >> <<a href="mailto:andrew.kaylor@intel.com">andrew.kaylor@intel.com</a>><br>
>> >> >>>> >> wrote:<br>
>> >> >>>> >><br>
>> >> >>>> >> I added the line you suggested to CMakeLists.txt, and this is<br>
>> >> >>>> >> what<br>
>> >> >>>> >> I<br>
>> >> >>>> >> see:<br>
>> >> >>>> >><br>
>> >> >>>> >><br>
>> >> >>>> >><br>
>> >> >>>> >> f:\users\akaylor\llvm-s\test>cmake -G "Visual Studio 12 2013<br>
>> >> >>>> >> Win64"<br>
>> >> >>>> >> f:\users\akaylor\llvm-s\llvm<br>
>> >> >>>> >><br>
>> >> >>>> >> CMAKE_CXX_FLAGS =<br>
>> >> >>>> >><br>
>> >> >>>> >> -- No build type selected, default to Debug<br>
>> >> >>>> >><br>
>> >> >>>> >> -- The C compiler identification is MSVC 18.0.31101.0<br>
>> >> >>>> >><br>
>> >> >>>> >> …<br>
>> >> >>>> >><br>
>> >> >>>> >><br>
>> >> >>>> >><br>
>> >> >>>> >> Also, the /W3 flag isn’t being used during my build.<br>
>> >> >>>> >><br>
>> >> >>>> >><br>
>> >> >>>> >><br>
>> >> >>>> >> -Andy<br>
>> >> >>>> >><br>
>> >> >>>> >><br>
>> >> >>>> >><br>
>> >> >>>> >><br>
>> >> >>>> >><br>
>> >> >>>> >> From: Zachary Turner [mailto:<a href="mailto:zturner@google.com">zturner@google.com</a>]<br>
>> >> >>>> >> Sent: Monday, April 13, 2015 11:57 AM<br>
>> >> >>>> >> To: Kaylor, Andrew; Aaron Ballman<br>
>> >> >>>> >> Cc: <a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
>> >> >>>> >><br>
>> >> >>>> >><br>
>> >> >>>> >> Subject: Re: [llvm] r234343 - Enable W4 warnings by default for<br>
>> >> >>>> >> MSVC<br>
>> >> >>>> >> builds<br>
>> >> >>>> >><br>
>> >> >>>> >><br>
>> >> >>>> >><br>
>> >> >>>> >> No, CMake itself initializes CMAKE_CXX_FLAGS to include /W3.<br>
>> >> >>>> >> By<br>
>> >> >>>> >> default,<br>
>> >> >>>> >> if you do nothing, CMAKE_CXX_FLAGS will have /W3.  You can<br>
>> >> >>>> >> verify<br>
>> >> >>>> >> this<br>
>> >> >>>> >> by<br>
>> >> >>>> >> printing the value of CMAKE_CXX_FLAGS in the first line of<br>
>> >> >>>> >> llvm/CMakeLists.txt<br>
>> >> >>>> >><br>
>> >> >>>> >><br>
>> >> >>>> >><br>
>> >> >>>> >> On Mon, Apr 13, 2015 at 11:55 AM Kaylor, Andrew<br>
>> >> >>>> >> <<a href="mailto:andrew.kaylor@intel.com">andrew.kaylor@intel.com</a>><br>
>> >> >>>> >> wrote:<br>
>> >> >>>> >><br>
>> >> >>>> >> I'm not sure I understand.  Are you saying this problem only<br>
>> >> >>>> >> happens<br>
>> >> >>>> >> if<br>
>> >> >>>> >> you have CMAKE_CXX_FLAGS defined to include W3?<br>
>> >> >>>> >><br>
>> >> >>>> >> I don't have CMAKE_CXX_FLAGS defined on my system and my<br>
>> >> >>>> >> version<br>
>> >> >>>> >> of<br>
>> >> >>>> >> CMake<br>
>> >> >>>> >> (3.0.1) isn't defining it on its own, which would explain why<br>
>> >> >>>> >> I'm<br>
>> >> >>>> >> not<br>
>> >> >>>> >> seeing<br>
>> >> >>>> >> the problem.  I guess your patch to strip W3 if it's there is<br>
>> >> >>>> >> OK,<br>
>> >> >>>> >> though it<br>
>> >> >>>> >> should probably also look for W1 and W2.<br>
>> >> >>>> >><br>
>> >> >>>> >> On the other hand, if there isn't some non-user reason that W3<br>
>> >> >>>> >> would<br>
>> >> >>>> >> be<br>
>> >> >>>> >> part of CMAKE_CXX_FLAGS I would say this fall under the "don't<br>
>> >> >>>> >> do<br>
>> >> >>>> >> that"<br>
>> >> >>>> >> category of fix.<br>
>> >> >>>> >><br>
>> >> >>>> >> -Andy<br>
>> >> >>>> >><br>
>> >> >>>> >> -----Original Message-----<br>
>> >> >>>> >> From: <a href="mailto:aaron.ballman@gmail.com">aaron.ballman@gmail.com</a> [mailto:<a href="mailto:aaron.ballman@gmail.com">aaron.ballman@gmail.com</a>]<br>
>> >> >>>> >> On<br>
>> >> >>>> >> Behalf<br>
>> >> >>>> >> Of Aaron Ballman<br>
>> >> >>>> >> Sent: Monday, April 13, 2015 11:44 AM<br>
>> >> >>>> >> To: Zachary Turner<br>
>> >> >>>> >> Cc: Kaylor, Andrew; <a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
>> >> >>>> >> Subject: Re: [llvm] r234343 - Enable W4 warnings by default for<br>
>> >> >>>> >> MSVC<br>
>> >> >>>> >> builds<br>
>> >> >>>> >><br>
>> >> >>>> >> When I do that, the first line of output shows /W3:<br>
>> >> >>>> >><br>
>> >> >>>> >><br>
>> >> >>>> >> E:\llvm\x64>"D:\Program Files (x86)\Microsoft Visual Studio<br>
>> >> >>>> >> 12.0\VC\vcvarsall.bat" amd64<br>
>> >> >>>> >><br>
>> >> >>>> >> E:\llvm\x64>cmake -G "Visual Studio 12" ..\llvm CMAKE_CXX_FLAGS<br>
>> >> >>>> >> =<br>
>> >> >>>> >> /DWIN32<br>
>> >> >>>> >> /D_WINDOWS /W3 /GR /EHsc ....<br>
>> >> >>>> >><br>
>> >> >>>> >> ~Aaron<br>
>> >> >>>> >><br>
>> >> >>>> >> On Mon, Apr 13, 2015 at 2:37 PM, Zachary Turner<br>
>> >> >>>> >> <<a href="mailto:zturner@google.com">zturner@google.com</a>><br>
>> >> >>>> >> wrote:<br>
>> >> >>>> >> > Also what version of CMake are you using?  Maybe it's an<br>
>> >> >>>> >> > issue<br>
>> >> >>>> >> > with<br>
>> >> >>>> >> > CMake >= 3.0?  Try putting the following line at the top of<br>
>> >> >>>> >> > your<br>
>> >> >>>> >> > CMakeLists.txt<br>
>> >> >>>> >> ><br>
>> >> >>>> >> > message("CMAKE_CXX_FLAGS = ${CMAKE_CXX_FLAGS}")<br>
>> >> >>>> >> ><br>
>> >> >>>> >> > If you don't see /W3 in there, you won't hit the problem.<br>
>> >> >>>> >> ><br>
>> >> >>>> >> > On Mon, Apr 13, 2015 at 11:36 AM Zachary Turner<br>
>> >> >>>> >> > <<a href="mailto:zturner@google.com">zturner@google.com</a>><br>
>> >> >>>> >> > wrote:<br>
>> >> >>>> >> >><br>
>> >> >>>> >> >> Just realized maybe 2012 was a typo.  Are you actually still<br>
>> >> >>>> >> >> using<br>
>> >> >>>> >> >> 2012?<br>
>> >> >>>> >> >> I thought support was dropped.<br>
>> >> >>>> >> >><br>
>> >> >>>> >> >> On Mon, Apr 13, 2015 at 11:33 AM Aaron Ballman<br>
>> >> >>>> >> >> <<a href="mailto:aaron@aaronballman.com">aaron@aaronballman.com</a>><br>
>> >> >>>> >> >> wrote:<br>
>> >> >>>> >> >>><br>
>> >> >>>> >> >>> I do not get the warnings when building x64 or x86 on<br>
>> >> >>>> >> >>> Windows<br>
>> >> >>>> >> >>> 7,<br>
>> >> >>>> >> >>> MSVC 2012, debug build. This is when building LLVM, Clang,<br>
>> >> >>>> >> >>> lld,<br>
>> >> >>>> >> >>> and<br>
>> >> >>>> >> >>> clang tools extra<br>
>> >> >>>> >> >>><br>
>> >> >>>> >> >>> ~Aaron<br>
>> >> >>>> >> >>><br>
>> >> >>>> >> >>> On Mon, Apr 13, 2015 at 2:22 PM, Zachary Turner<br>
>> >> >>>> >> >>> <<a href="mailto:zturner@google.com">zturner@google.com</a>><br>
>> >> >>>> >> >>> wrote:<br>
>> >> >>>> >> >>> > I'm building x64.  Can you try that?  Run "vcvarsall<br>
>> >> >>>> >> >>> > amd64"<br>
>> >> >>>> >> >>> > before<br>
>> >> >>>> >> >>> > building LLVM<br>
>> >> >>>> >> >>> ><br>
>> >> >>>> >> >>> > On Mon, Apr 13, 2015 at 11:21 AM Kaylor, Andrew<br>
>> >> >>>> >> >>> > <<a href="mailto:andrew.kaylor@intel.com">andrew.kaylor@intel.com</a>><br>
>> >> >>>> >> >>> > wrote:<br>
>> >> >>>> >> >>> >><br>
>> >> >>>> >> >>> >> I haven’t seen that.  I’m not seeing any warnings right<br>
>> >> >>>> >> >>> >> now.<br>
>> >> >>>> >> >>> >><br>
>> >> >>>> >> >>> >><br>
>> >> >>>> >> >>> >><br>
>> >> >>>> >> >>> >> From: Zachary Turner [mailto:<a href="mailto:zturner@google.com">zturner@google.com</a>]<br>
>> >> >>>> >> >>> >> Sent: Monday, April 13, 2015 11:17 AM<br>
>> >> >>>> >> >>> >> To: Kaylor, Andrew; <a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
>> >> >>>> >> >>> >> Subject: Re: [llvm] r234343 - Enable W4 warnings by<br>
>> >> >>>> >> >>> >> default<br>
>> >> >>>> >> >>> >> for<br>
>> >> >>>> >> >>> >> MSVC builds<br>
>> >> >>>> >> >>> >><br>
>> >> >>>> >> >>> >><br>
>> >> >>>> >> >>> >><br>
>> >> >>>> >> >>> >> Hi Andy, this is causing a huge slew of warning spam.<br>
>> >> >>>> >> >>> >> Is<br>
>> >> >>>> >> >>> >> this<br>
>> >> >>>> >> >>> >> expected?<br>
>> >> >>>> >> >>> >> CMake passes /W3 by default, so  every single<br>
>> >> >>>> >> >>> >> translation<br>
>> >> >>>> >> >>> >> unit<br>
>> >> >>>> >> >>> >> I<br>
>> >> >>>> >> >>> >> compile gives me the following warning:<br>
>> >> >>>> >> >>> >><br>
>> >> >>>> >> >>> >><br>
>> >> >>>> >> >>> >><br>
>> >> >>>> >> >>> >> cl : Command line warning D9025 : overriding '/W3' with<br>
>> >> >>>> >> >>> >> '/W4'<br>
>> >> >>>> >> >>> >><br>
>> >> >>>> >> >>> >><br>
>> >> >>>> >> >>> >><br>
>> >> >>>> >> >>> >> Furthermore, since this is a command line warning and<br>
>> >> >>>> >> >>> >> not a<br>
>> >> >>>> >> >>> >> compiler warning, it cannot be suppressed.  Unless you<br>
>> >> >>>> >> >>> >> have<br>
>> >> >>>> >> >>> >> any<br>
>> >> >>>> >> >>> >> better ideas on how to address this, I think this should<br>
>> >> >>>> >> >>> >> be<br>
>> >> >>>> >> >>> >> reverted.<br>
>> >> >>>> >> >>> >><br>
>> >> >>>> >> >>> >><br>
>> >> >>>> >> >>> >><br>
>> >> >>>> >> >>> >> On Tue, Apr 7, 2015 at 12:07 PM Andrew Kaylor<br>
>> >> >>>> >> >>> >> <<a href="mailto:andrew.kaylor@intel.com">andrew.kaylor@intel.com</a>><br>
>> >> >>>> >> >>> >> wrote:<br>
>> >> >>>> >> >>> >><br>
>> >> >>>> >> >>> >> Author: akaylor<br>
>> >> >>>> >> >>> >> Date: Tue Apr  7 14:01:01 2015<br>
>> >> >>>> >> >>> >> New Revision: 234343<br>
>> >> >>>> >> >>> >><br>
>> >> >>>> >> >>> >> URL:<br>
>> >> >>>> >> >>> >> <a href="http://llvm.org/viewvc/llvm-project?rev=234343&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=234343&view=rev</a><br>
>> >> >>>> >> >>> >> Log:<br>
>> >> >>>> >> >>> >> Enable W4 warnings by default for MSVC builds<br>
>> >> >>>> >> >>> >><br>
>> >> >>>> >> >>> >> Modified:<br>
>> >> >>>> >> >>> >>     llvm/trunk/CMakeLists.txt<br>
>> >> >>>> >> >>> >><br>
>> >> >>>> >> >>> >> Modified: llvm/trunk/CMakeLists.txt<br>
>> >> >>>> >> >>> >> URL:<br>
>> >> >>>> >> >>> >><br>
>> >> >>>> >> >>> >><br>
>> >> >>>> >> >>> >><br>
>> >> >>>> >> >>> >><br>
>> >> >>>> >> >>> >> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/CMakeLists.txt?rev" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/CMakeLists.txt?rev</a><br>
>> >> >>>> >> >>> >> =234343&r1=234342&r2=234343&view=diff<br>
>> >> >>>> >> >>> >><br>
>> >> >>>> >> >>> >><br>
>> >> >>>> >> >>> >><br>
>> >> >>>> >> >>> >><br>
>> >> >>>> >> >>> >><br>
>> >> >>>> >> >>> >> =================================================================<br>
>> >> >>>> >> >>> >> =============<br>
>> >> >>>> >> >>> >> --- llvm/trunk/CMakeLists.txt (original)<br>
>> >> >>>> >> >>> >> +++ llvm/trunk/CMakeLists.txt Tue Apr  7 14:01:01 2015<br>
>> >> >>>> >> >>> >> @@ -233,14 +233,7 @@ list(REMOVE_DUPLICATES<br>
>> >> >>>> >> >>> >> LLVM_TARGETS_TO_B<br>
>> >> >>>> >> >>> >>  include(AddLLVMDefinitions)<br>
>> >> >>>> >> >>> >><br>
>> >> >>>> >> >>> >>  option(LLVM_ENABLE_PIC "Build Position-Independent<br>
>> >> >>>> >> >>> >> Code"<br>
>> >> >>>> >> >>> >> ON)<br>
>> >> >>>> >> >>> >> -<br>
>> >> >>>> >> >>> >> -# MSVC has a gazillion warnings with this.<br>
>> >> >>>> >> >>> >> -if( MSVC )<br>
>> >> >>>> >> >>> >> -  option(LLVM_ENABLE_WARNINGS "Enable compiler<br>
>> >> >>>> >> >>> >> warnings."<br>
>> >> >>>> >> >>> >> OFF)<br>
>> >> >>>> >> >>> >> -else()<br>
>> >> >>>> >> >>> >> -  option(LLVM_ENABLE_WARNINGS "Enable compiler<br>
>> >> >>>> >> >>> >> warnings."<br>
>> >> >>>> >> >>> >> ON)<br>
>> >> >>>> >> >>> >> -endif()<br>
>> >> >>>> >> >>> >> -<br>
>> >> >>>> >> >>> >> +option(LLVM_ENABLE_WARNINGS "Enable compiler warnings."<br>
>> >> >>>> >> >>> >> ON)<br>
>> >> >>>> >> >>> >>  option(LLVM_ENABLE_MODULES "Compile with C++ modules<br>
>> >> >>>> >> >>> >> enabled."<br>
>> >> >>>> >> >>> >> OFF)  option(LLVM_ENABLE_CXX1Y "Compile with C++1y<br>
>> >> >>>> >> >>> >> enabled."<br>
>> >> >>>> >> >>> >> OFF)<br>
>> >> >>>> >> >>> >> option(LLVM_ENABLE_LIBCXX "Use libc++ if available."<br>
>> >> >>>> >> >>> >> OFF)<br>
>> >> >>>> >> >>> >><br>
>> >> >>>> >> >>> >><br>
>> >> >>>> >> >>> >> _______________________________________________<br>
>> >> >>>> >> >>> >> llvm-commits mailing list<br>
>> >> >>>> >> >>> >> <a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
>> >> >>>> >> >>> >> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
>> >> >>>> >> >>> ><br>
>> >> >>>> >> >>> ><br>
>> >> >>>> >> >>> > _______________________________________________<br>
>> >> >>>> >> >>> > llvm-commits mailing list<br>
>> >> >>>> >> >>> > <a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
>> >> >>>> >> >>> > <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
>> >> >>>> >> >>> ><br>
>> >> >>><br>
>> >> >>><br>
>> >> >>> _______________________________________________<br>
>> >> >>> llvm-commits mailing list<br>
>> >> >>> <a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
>> >> >>> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
>> >> >>><br>
>> >> >><br>
>> ><br>
>> ><br>
><br>
><br>
</div></div></blockquote></div><br></div>