[llvm] r229584 - We require MSVC 2013 Update 4 due to previous versions miscompiling ASTMatchers

Reid Kleckner rnk at google.com
Tue Feb 17 17:05:25 PST 2015


I guess I'd downgrade this to a warning or something. We can't really
defend the user from all the broken compilers in the world. As much as I
hate build spam, cmake already prints things when reconfiguring, so this
shouldn't be painful.

On Tue, Feb 17, 2015 at 4:40 PM, Filipe Cabecinhas <me at filcab.net> wrote:

> ASTMatchers tests broke over the weekend due to a silent miscompile, as
> far as we could understand.
>
> Could you run check-clang and have it work, before this commit?
>
> When committing, I figured it was a small change, so there shouldn't be
> big problems, but after committing I figured there might be people who
> wouldn't be ready, and I hadn't given a heads up. I then figured I would
> wait and see if someone complained, either way.
>
> If you want to, I can revert this patch, but this might prompt people to
> try to chase weird MSVC miscompilations. If we revert it we should probably
> make it so that llvm/clang compile and run tests on earlier revisions
> though, and actually support point-releases (and document which ones are
> supported), which doesn't seem feasible to me (we have enough “problems”
> supporting major releases, sometimes).
>
> Let me know if you still want me to revert it, though.
>
>   Filipe
>
> On Tue, Feb 17, 2015 at 4:29 PM, Kaylor, Andrew <andrew.kaylor at intel.com>
> wrote:
>
>> This is a fairly painful change for me.
>>
>> I didn't really mind the idea of not being able to build with MSVC 2012
>> because it's three years old or so.  MSVC 2013 Update 4, on the other hand,
>> is more like 3 months old.  Granted it's still readily available, but it
>> hasn't made its way through the lab systems here yet and I suspect I'm not
>> alone in experiencing this.
>>
>> I'm not sure what the issue is.  This morning I could build just fine.
>> Now this afternoon, I can't because CMake thinks my compiler is too old.
>>
>> What is the issue with ASTMatchers on earlier versions of MSVC?  Is it
>> something that was just exposed by a recent commit?  I hadn't noticed a
>> problem.
>>
>> -Andy
>>
>>
>> -----Original Message-----
>> From: llvm-commits-bounces at cs.uiuc.edu [mailto:
>> llvm-commits-bounces at cs.uiuc.edu] On Behalf Of Filipe Cabecinhas
>> Sent: Tuesday, February 17, 2015 3:29 PM
>> To: llvm-commits at cs.uiuc.edu
>> Subject: [llvm] r229584 - We require MSVC 2013 Update 4 due to previous
>> versions miscompiling ASTMatchers
>>
>> Author: filcab
>> Date: Tue Feb 17 17:29:00 2015
>> New Revision: 229584
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=229584&view=rev
>> Log:
>> We require MSVC 2013 Update 4 due to previous versions miscompiling
>> ASTMatchers
>>
>> Previous versions of MSVC 2013 would miscompile ASTMatchers (and/or their
>> tests). Bump up the requirement and make sure we know about the minor
>> revision.
>>
>> Minimum required version found by Michael Edwards!
>>
>> Modified:
>>     llvm/trunk/cmake/modules/HandleLLVMOptions.cmake
>>
>> Modified: llvm/trunk/cmake/modules/HandleLLVMOptions.cmake
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/cmake/modules/HandleLLVMOptions.cmake?rev=229584&r1=229583&r2=229584&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/cmake/modules/HandleLLVMOptions.cmake (original)
>> +++ llvm/trunk/cmake/modules/HandleLLVMOptions.cmake Tue Feb 17 17:29:00
>> +++ 2015
>> @@ -41,8 +41,8 @@ int main() { return (float)x; }"
>>        set(CMAKE_REQUIRED_LIBRARIES ${OLD_CMAKE_REQUIRED_LIBRARIES})
>>      endif()
>>    elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
>> -    if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 18.0)
>> -      message(FATAL_ERROR "Host Visual Studio must be at least 2013
>> (MSVC 18.0)")
>> +    if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 18.0.31101)
>> +      message(FATAL_ERROR "Host Visual Studio must be at least 2013
>> + Update 4 (MSVC 18.0.31101)")
>>      endif()
>>    endif()
>>  endif()
>>
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>>
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150217/51cd10e8/attachment.html>


More information about the llvm-commits mailing list