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

Hans Wennborg hans at chromium.org
Tue Feb 24 11:47:33 PST 2015


So, what should we put in the docs for this? "Visual Studio 2013
required, Update 4 highly recommended"? But if we're miscompiling
stuff without Update 4, maybe that doesn't make sense?

On Tue, Feb 17, 2015 at 5:08 PM, Filipe Cabecinhas <me at filcab.net> wrote:
> Ah, yes. Warning it is.
>
> Committing soon.
>
>   Filipe
>
> On Tue, Feb 17, 2015 at 5:05 PM, Reid Kleckner <rnk at google.com> wrote:
>>
>> 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
>>>
>>
>>
>> _______________________________________________
>> 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
>




More information about the llvm-commits mailing list