<div dir="rtl"><div dir="ltr">I'll second this, for example Reanto, VC 2012 had lots of problems with your last patch but only one problem with VC 2013 which could be easily fixed (array initialization). VC C++ conformance is rapidly advancing and VC 2012 is not up to it.</div>

<div dir="ltr"><br></div><div dir="ltr">Yaron</div><div dir="ltr"><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote"><div dir="ltr">2014-08-22 12:49 GMT+03:00 Renato Golin <span dir="ltr"><<a href="mailto:renato.golin@linaro.org" target="_blank">renato.golin@linaro.org</a>></span>:</div>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="">On 22 August 2014 00:48, Aaron Ballman <<a href="mailto:aaron@aaronballman.com">aaron@aaronballman.com</a>> wrote:<br>


> We told the community less than nine months ago (when we made the<br>
> C++11 switch) that we would support the last two versions of MSVC. Now<br>
> we're saying "only the latest version, because it has nice things."<br>
<br>
</div>I don't see it this way. We need a compiler on all platforms that can<br>
conform to the same level of the standards. In most platforms, that's<br>
GCC and Clang, on Windows, that's also MSVC.<br>
<br>
The problem here is that Linux and Mac developers will test their code<br>
on multiple combinations of { Linux, Mac } x { x86, x86_64, ARM,<br>
AArch64 } and it'll work perfectly, until it reaches Windows and<br>
breaks because the compiler can't handle it.<br>
<br>
Solving this problem is not trivial, and relying on buildbots to tell<br>
us what's wrong promotes a culture of trial and error that makes it<br>
impossible to control the source at any level (ex reverting bugged<br>
commits, or applying them back again).<br>
<div class=""><br>
<br>
> That would make sense if those nice things were something we couldn't<br>
> live without, or if there was a long delay for a new release of MSVC.<br>
> Neither of those things seem to be the case, so I'm not certain why we<br>
> would change our developer policy on three day's notice.<br>
<br>
</div> We're finding the hard way that it could have been a lot better if<br>
MSVC 2012 were actually a modern compiler to begin with. We haven't<br>
changed the minimum requirement anywhere else, and still, it's MSVC<br>
that is breaking up. That's a clear sign that MSVC 2012 is *not*<br>
compatible (feature-wise) with all our other minimum requirements.<br>
<br>
IIRC, we "accepted" MSVC 2012 as the minimum requirement due to<br>
pressure, not because we thought it was a good idea and we said it<br>
would have to move faster than the others because of the sheer lack of<br>
functionality. Now it's past 3.5 release and 3.6 will probably come<br>
out in 2015, the sooner we start the move to a more modern MSVC, the<br>
better it'll be when we actually release 3.6.<br>
<br>
I think Chandler's idea to break it now and see how it goes, by<br>
changing only the make files, is a good one. At least we'll make all<br>
the problems visible, and will be able to tackle them one by one,<br>
instead of waiting for some people to chime in, people that haven't<br>
been involved yet?<br>
<br>
I also believe that we need to answer Alex's questions before<br>
anything. We can't just guess, as we're talking here of a possible<br>
massive incompatibility problem on millions of software out there (and<br>
the games we play!!), so that's a critical issue! :)<br>
<br>
But other than that, stakeholders should have been doing their<br>
homework and trying 2013 ever since 9 months ago. It's most definitely<br>
not 3 days ago.<br>
<br>
cheers,<br>
--renato<br>
<div class="HOEnZb"><div class="h5">_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
</div></div></blockquote></div><br></div>