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

Aaron Ballman aaron at aaronballman.com
Tue Feb 24 11:53:48 PST 2015


On Tue, Feb 24, 2015 at 2:47 PM, Hans Wennborg <hans at chromium.org> wrote:
> 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?

I don't think we can claim to support < Update 4 when we know we have
miscompiles with it and those aren't being actively addressed. If
someone is interested in fixing those so we can support < Update 4,
then great! But until then, I think it makes the most sense to
document that we require >= Update 4 even if we allow people (with
warnings) to try older updates.

~Aaron

>
> 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
>>
>
> _______________________________________________
> 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