[cfe-dev] RFC: A proposal to move toward using C++11 features in LLVM & Clang / bounding support for old host compilers

Óscar Fuentes ofv at wanadoo.es
Sun Oct 27 12:07:11 PDT 2013


Chris Lattner <clattner at apple.com> writes:

>> One short term caveat: Windows is special.

s/Windows/Visual Studio.

MinGW has the latest and greatest gcc.

> I don't see how it is special.

It is special, sadly, and I'm not talking about C++11 support only, but
about the policies MS follows which too often makes very inconvenient
(or even impossible) to upgrade to newer VS versions. The latest example
that comes to mind was the release of VS2012: they removed Windows XP
support, as if upgrading the OS is a non-issue if you ask for it to your
users on a polite tone. An uproar followed and they backpedaled on a
service pack some months later, but that not always happens.

> We should just look at all of the
> compilers we need to support, and factor that set in. We should
> continue to increment the baseline compilers over time, but a global
> "two year old compilers only" policy doesn't make sense to me. I also
> think that windows will be the lowest bar anyway.

VS 2013 introduces lots of C++11 features, but so far I've seen too many
bugs, which brings in another concern: nowadays C++03 support is fairly
mature on all recent C++ compilers but I still remember when wasting
hours trying to keep all compilers happy were a daily chore.

>> Now for the carrot: if we go with this plan, then immediately after
>> branching for 3.4, we would be able to use the vast majority of
>> C++11 features, targeting the following as the oldest toolchains
>> supported through the 3.5 release timeframe:
>> 
>> GCC 4.7
>> Clang 3.1
>> VS 2012
>
> This seems overly aggressive to me. Why not start by baselining at
> VC++ 2010, and bump up everything else to match?

IIRC the only significant difference among VS 2012 and VS 2010 is range
for loops.

[snip]




More information about the cfe-dev mailing list