[LLVMdev] [RFC] Raising minimum required Visual Studio version to 2013 for trunk

Alex Rosenberg alexr at leftfield.org
Thu Aug 21 19:06:25 PDT 2014


I'll echo Michael here.

Nobody from our production compiler groups has weighed in yet. It will take time for them to learn about this thread and form a reply.

Despite my desires to use a Canadian-cross, our production compiler is built with MSVC. We surely wouldn't decide to switch to 2013 until we've done a complete testing cycle with it. That takes more than three days and involves doing compatibility testing of shipped games (e.g. playing all of them).

I haven't seen a reply from anybody who vends a production compiler built with MSVC weigh in. Are we the only ones that use MSVC and not a Canadian-cross?

That said, I need to ask the obvious "is it plugged in" questions:

* We absolutely have to ship a set of DLLs that run hosted in VS2012. Is there any sort of runtime incompatibility that would happen if we built with 2013, needed the 2013 CRT, but tried to run inside the VS2012 process? That would be a complete show stopper for us since we have a committed schedule for support of versions of VS that we host in.

* Has any size/performance testing been done to compare LLVM built with the two versions of MSVC? Perf regressions are bad, m'kay?

Alex

>> On Aug 21, 2014, at 4:48 PM, Michael Spencer <bigcheesegs at gmail.com> wrote:
>> 
>> On Thu, Aug 21, 2014 at 4:35 PM, Chris Bieneman <beanz at apple.com> wrote:
>> This thread hasn’t had too much traffic, but it sounds like many people are
>> in favor and there is no strong opposition. If I understand Aaron’s only
>> objection was based on preserving existing policy rather than a technical
>> reason.
>> 
>> Anyone want to make the official call?
>> 
>> -Chris
> 
> We came up with this policy because certain people in the community
> wanted more time to test and move to new compilers. Those people
> haven't had any input on this thread yet, so I would rather we not
> jump ahead without being sure nobody is still depending on VS 2012. I
> actually need to verify that we're not still depending on it
> internally.
> 
> - Michael Spencer
> 
>> 
>> On Aug 21, 2014, at 4:16 PM, Reid Kleckner <rnk at google.com> wrote:
>> 
>> +1 for 2013. The feature set is worth it.
>> 
>> I expect that there will still be major incompatibilities around initializer
>> lists, so I would avoid them unless you have MSVC or are OK with diagnosing
>> the problem from a buildbot.
>> 
>> 
>> On Tue, Aug 19, 2014 at 11:12 AM, Renato Golin <renato.golin at linaro.org>
>> wrote:
>>> 
>>> I just broke a build by committing initializer list and a few other
>>> C++11 stuff on the LoopVectorizer... :/
>>> 
>>> cheers,
>>> --renato
>>> 
>>> PS: The lld Windows bot is 2011, so that surely needs upgrading anyway...
>>> 
>>>> On 19 August 2014 00:48, David Blaikie <dblaikie at gmail.com> wrote:
>>>> For my money: variadic templates and some bug I hit when trying to use
>>>> forward_as_tuple.
>>>> 
>>>>> On Aug 18, 2014 4:02 PM, "Aaron Ballman" <aaron at aaronballman.com> wrote:
>>>>> 
>>>>> On Mon, Aug 18, 2014 at 6:54 PM, Chris Bieneman <beanz at apple.com>
>>>>> wrote:
>>>>>> I’d like to propose raising the minimum required compiler for the
>>>>>> LLVM &
>>>>>> Clang trunks for Visual Studio to MSVC 2013.
>>>>>> 
>>>>>> Doing this will allow us to take advantage of a bunch of C++11
>>>>>> features
>>>>>> that are not supported by MSVC 2012. According to MSDN
>>>>>> (http://msdn.microsoft.com/en-us/library/hh567368.aspx) the list is:
>>>>>> 
>>>>>> * Non-static data member initializers
>>>>>> * Variadic templates
>>>>>> * Initializer lists
>>>>>> * Default template arguments for function templates
>>>>>> * Expression SFINAE
>>>>>> * Alias templates
>>>>>> * Delegating constructors
>>>>>> * Explicit conversion operators
>>>>>> * Raw string literals
>>>>>> * Defaulted and deleted functions
>>>>>> 
>>>>>> Questions, comments, concerns, general feedback?
>>>>> 
>>>>> We shifted the minimum MSVC version to 2012 in January of this year,
>>>>> and have run into only a few issues where C++11 features exist in MSVC
>>>>> 2013 but not MSVC 2012. So I'm wondering what problem this solves in
>>>>> practice for our code base?
>>>>> 
>>>>> Personally, I use MSVC 2013 instead of 2012. But I would hesitate to
>>>>> switch to 2013 as the minimum supported version just yet. It's been
>>>>> out for less than two years and until "14" drops, it is the newest
>>>>> version of the compiler. When we made the switch, the goal was to
>>>>> support only the last two versions of MSVC, and I don't see any strong
>>>>> evidence to support expediting that schedule. I think this is a great
>>>>> plan for when "14" is officially released.
>>>>> 
>>>>> ~Aaron
>>>>> 
>>>>> _______________________________________________
>>>>> LLVM Developers mailing list
>>>>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>>>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>>>> 
>>>> 
>>>> _______________________________________________
>>>> LLVM Developers mailing list
>>>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>>> 
>>> _______________________________________________
>>> LLVM Developers mailing list
>>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>> 
>> 
>> _______________________________________________
>> LLVM Developers mailing list
>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>> 
>> 
>> 
>> _______________________________________________
>> LLVM Developers mailing list
>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
> 
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev




More information about the llvm-dev mailing list