<div dir="ltr"><div>Just to be clear, what that shows is that CMake *is* in fact appending /W3 to the command line on startup.  Later, in HandleLLVMOptions.cmake, we append /W4.  It's possible that branch isn't being hit for you for some reason.  But if you compile a dummy cpp file with /W3 and /W4 you can at least confirm that your compiler will spit out the same error I'm seeing if both are on the command line.  If it does, then it just remains to figure out why HandleLLVMOptions.cmake isn't putting /W4 on the command line for you.  It could be a cache issue, for example if the default value of that was changed from OFF to ON, your cache could still have the OFF value.  </div></div><br><div class="gmail_quote">On Mon, Apr 13, 2015 at 11:49 AM Zachary Turner <<a href="mailto:zturner@google.com">zturner@google.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">That suggests that LLVM_ENABLE_WARNINGS is not set for you then and that it's not appending /W4 to the command line for some reason.  Can you try the sample program where I compile foo.cpp myself and run with /W3 and /W4?<br></div><br><div class="gmail_quote">On Mon, Apr 13, 2015 at 11:43 AM Aaron Ballman <<a href="mailto:aaron@aaronballman.com" target="_blank">aaron@aaronballman.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">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<br>
CMAKE_CXX_FLAGS =  /DWIN32 /D_WINDOWS /W3 /GR /EHsc<br>
....<br>
<br>
~Aaron<br>
<br>
On Mon, Apr 13, 2015 at 2:37 PM, Zachary Turner <<a href="mailto:zturner@google.com" target="_blank">zturner@google.com</a>> wrote:<br>
> Also what version of CMake are you using?  Maybe it's an issue with CMake >=<br>
> 3.0?  Try putting the following line at the top of your 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 <<a href="mailto:zturner@google.com" target="_blank">zturner@google.com</a>> wrote:<br>
>><br>
>> Just realized maybe 2012 was a typo.  Are you actually still using 2012?<br>
>> I thought support was dropped.<br>
>><br>
>> On Mon, Apr 13, 2015 at 11:33 AM Aaron Ballman <<a href="mailto:aaron@aaronballman.com" target="_blank">aaron@aaronballman.com</a>><br>
>> wrote:<br>
>>><br>
>>> I do not get the warnings when building x64 or x86 on Windows 7, MSVC<br>
>>> 2012, debug build. This is when building LLVM, Clang, lld, and clang<br>
>>> tools extra<br>
>>><br>
>>> ~Aaron<br>
>>><br>
>>> On Mon, Apr 13, 2015 at 2:22 PM, Zachary Turner <<a href="mailto:zturner@google.com" target="_blank">zturner@google.com</a>><br>
>>> wrote:<br>
>>> > I'm building x64.  Can you try that?  Run "vcvarsall amd64" before<br>
>>> > building<br>
>>> > LLVM<br>
>>> ><br>
>>> > On Mon, Apr 13, 2015 at 11:21 AM Kaylor, Andrew<br>
>>> > <<a href="mailto:andrew.kaylor@intel.com" target="_blank">andrew.kaylor@intel.com</a>><br>
>>> > wrote:<br>
>>> >><br>
>>> >> I haven’t seen that.  I’m not seeing any warnings right now.<br>
>>> >><br>
>>> >><br>
>>> >><br>
>>> >> From: Zachary Turner [mailto:<a href="mailto:zturner@google.com" target="_blank">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" target="_blank">llvm-commits@cs.uiuc.edu</a><br>
>>> >> Subject: Re: [llvm] r234343 - Enable W4 warnings by default for MSVC<br>
>>> >> builds<br>
>>> >><br>
>>> >><br>
>>> >><br>
>>> >> Hi Andy, this is causing a huge slew of warning spam.  Is this<br>
>>> >> expected?<br>
>>> >> CMake passes /W3 by default, so  every single translation unit I<br>
>>> >> compile<br>
>>> >> gives me the following warning:<br>
>>> >><br>
>>> >><br>
>>> >><br>
>>> >> cl : Command line warning D9025 : overriding '/W3' with '/W4'<br>
>>> >><br>
>>> >><br>
>>> >><br>
>>> >> Furthermore, since this is a command line warning and not a compiler<br>
>>> >> warning, it cannot be suppressed.  Unless you have any better ideas on<br>
>>> >> how<br>
>>> >> to address this, I think this should be reverted.<br>
>>> >><br>
>>> >><br>
>>> >><br>
>>> >> On Tue, Apr 7, 2015 at 12:07 PM Andrew Kaylor<br>
>>> >> <<a href="mailto:andrew.kaylor@intel.com" target="_blank">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: <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>
>>> >> <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/CMakeLists.txt?rev=234343&r1=234342&r2=234343&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/CMakeLists.txt?rev=234343&r1=234342&r2=234343&view=diff</a><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 LLVM_TARGETS_TO_B<br>
>>> >>  include(AddLLVMDefinitions)<br>
>>> >><br>
>>> >>  option(LLVM_ENABLE_PIC "Build Position-Independent Code" ON)<br>
>>> >> -<br>
>>> >> -# MSVC has a gazillion warnings with this.<br>
>>> >> -if( MSVC )<br>
>>> >> -  option(LLVM_ENABLE_WARNINGS "Enable compiler warnings." OFF)<br>
>>> >> -else()<br>
>>> >> -  option(LLVM_ENABLE_WARNINGS "Enable compiler warnings." ON)<br>
>>> >> -endif()<br>
>>> >> -<br>
>>> >> +option(LLVM_ENABLE_WARNINGS "Enable compiler warnings." ON)<br>
>>> >>  option(LLVM_ENABLE_MODULES "Compile with C++ modules enabled." OFF)<br>
>>> >>  option(LLVM_ENABLE_CXX1Y "Compile with C++1y enabled." OFF)<br>
>>> >>  option(LLVM_ENABLE_LIBCXX "Use libc++ if available." OFF)<br>
>>> >><br>
>>> >><br>
>>> >> _______________________________________________<br>
>>> >> llvm-commits mailing list<br>
>>> >> <a href="mailto:llvm-commits@cs.uiuc.edu" target="_blank">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" target="_blank">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>
</blockquote></div></blockquote></div>