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

Hans Wennborg hans at chromium.org
Tue Feb 24 12:39:09 PST 2015


On Tue, Feb 24, 2015 at 11:53 AM, Aaron Ballman <aaron at aaronballman.com> wrote:
> 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.

I've added the note in r230363. We can update it if tings change.

Thanks,
Hans

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