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

Chris Bieneman beanz at apple.com
Mon Aug 18 16:04:09 PDT 2014


On Aug 18, 2014, at 4:00 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?

The motivation for me was when I started looking at cleaning up the cl::opts and really wished that I could use variadic templates. There was also a discussion on IRC about this last week, and it seemed like there was at least a little interest, which is why I bring it up.

-Chris

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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140818/60282287/attachment.html>


More information about the llvm-dev mailing list