<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Mar 29, 2016 at 10:42 AM, Aaron Ballman via llvm-dev <span dir="ltr"><<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Tue, Mar 29, 2016 at 1:29 PM, Zachary Turner via llvm-dev<br>
<<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>> wrote:<br>
> I think it's been a little over a year since we bumped the minimum VS<br>
> version to 2013.  Are we planning to do the same for 2015?  Update 2 is<br>
> releasing soon, which is stable enough at least to ship Chromium.<br>
<br>
</span>In the past, we've supported the latest two major versions of Visual<br>
Studio unless there is a strong use case for dropping the oldest<br>
version. I don't believe any such use case has been brought up yet, so<br>
I would imagine we will continue to support MSVC 2013 until the next<br>
major release.<br>
<span class=""><br>
> Language wise, 2015 comes with a lot of new C++ features.  The most<br>
> interesting to people will probably be template aliases, C++11 constexpr,<br>
> the thread_local keyword, and thread-safe function local statics (finally).<br>
> A complete list of new C++ language support can be found here.<br>
><br>
> As far as the different LLVM subprojects are concerned, LLDB was always<br>
> going to be the hardest get working with MSVC 2015 due to the fact that it<br>
> embeds python as an extension module, but as the LLDB maintainer for Windows<br>
> I tackled this early and I can say that it's now done and we have completely<br>
> transitioned to MSVC 2015 already in LLDB.<br>
><br>
> Since we are only supporting 2015 in LLDB moving forward, I have a slight<br>
> preference to bumping this in LLVM sooner rather than later, but I'd like to<br>
> hear other peoples' thoughts on the matter as well.<br>
<br>
</span>Not everyone can upgrade to the latest version of the toolchain, even<br>
if it has been released for a while. We did drop MSVC 2012 support<br>
early, but MSVC 2015 was in RC or RTM stages by that point, and we had<br>
some pretty big incentive to upgrade early (without function templates<br>
supporting default arguments, the AST matcher DSL made for really slow<br>
compiles of Clang itself, and resulted in a larger executable size<br>
among other things, IIRC). I recall we had frequent build breaks from<br>
MSVC 2012 not supporting basic C++11 language features or miscompiling<br>
due to early support. I've not seen that be the case with MSVC 2013<br>
except for the occasional issue with use of braced initializer lists.<br></blockquote><div><br></div><div>The most common one I see here ^ is MSVC 2013's inability to generate implicit definitions of move special members. Comes up pretty regularly.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Coupled with the fact that there's no future version of MSVC with an<br>
imminent release, I would prefer to not bump unless it starts<br>
significantly stifling our development efforts.<br>
<br>
~Aaron<br>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote></div><br></div></div>