[llvm-dev] Upgrading to MSVC 2015

David Blaikie via llvm-dev llvm-dev at lists.llvm.org
Tue Mar 29 21:37:24 PDT 2016


On Tue, Mar 29, 2016 at 10:42 AM, Aaron Ballman via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

> On Tue, Mar 29, 2016 at 1:29 PM, Zachary Turner via llvm-dev
> <llvm-dev at lists.llvm.org> wrote:
> > I think it's been a little over a year since we bumped the minimum VS
> > version to 2013.  Are we planning to do the same for 2015?  Update 2 is
> > releasing soon, which is stable enough at least to ship Chromium.
>
> In the past, we've supported the latest two major versions of Visual
> Studio unless there is a strong use case for dropping the oldest
> version. I don't believe any such use case has been brought up yet, so
> I would imagine we will continue to support MSVC 2013 until the next
> major release.
>
> > Language wise, 2015 comes with a lot of new C++ features.  The most
> > interesting to people will probably be template aliases, C++11 constexpr,
> > the thread_local keyword, and thread-safe function local statics
> (finally).
> > A complete list of new C++ language support can be found here.
> >
> > As far as the different LLVM subprojects are concerned, LLDB was always
> > going to be the hardest get working with MSVC 2015 due to the fact that
> it
> > embeds python as an extension module, but as the LLDB maintainer for
> Windows
> > I tackled this early and I can say that it's now done and we have
> completely
> > transitioned to MSVC 2015 already in LLDB.
> >
> > Since we are only supporting 2015 in LLDB moving forward, I have a slight
> > preference to bumping this in LLVM sooner rather than later, but I'd
> like to
> > hear other peoples' thoughts on the matter as well.
>
> Not everyone can upgrade to the latest version of the toolchain, even
> if it has been released for a while. We did drop MSVC 2012 support
> early, but MSVC 2015 was in RC or RTM stages by that point, and we had
> some pretty big incentive to upgrade early (without function templates
> supporting default arguments, the AST matcher DSL made for really slow
> compiles of Clang itself, and resulted in a larger executable size
> among other things, IIRC). I recall we had frequent build breaks from
> MSVC 2012 not supporting basic C++11 language features or miscompiling
> due to early support. I've not seen that be the case with MSVC 2013
> except for the occasional issue with use of braced initializer lists.
>

The most common one I see here ^ is MSVC 2013's inability to generate
implicit definitions of move special members. Comes up pretty regularly.


> Coupled with the fact that there's no future version of MSVC with an
> imminent release, I would prefer to not bump unless it starts
> significantly stifling our development efforts.
>
> ~Aaron
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160329/19cf2da9/attachment.html>


More information about the llvm-dev mailing list