[cfe-dev] RFC: A proposal to move toward using C++11 features in LLVM & Clang / bounding support for old host compilers
Karen Shaeffer
shaeffer at neuralscape.com
Sun Oct 27 13:14:26 PDT 2013
On Sun, Oct 27, 2013 at 02:31:35PM +0100, Benjamin Kramer wrote:
>
> On 27.10.2013, at 10:23, Chandler Carruth <chandlerc at google.com> wrote:
>
> > 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
>
> I do think that the time has come to switch to C++11 now as toolchains are becoming available everywhere. However, in my opinion a rule based on the releases of compilers won't work out for the majority of users out there. I'd rather base it on availability on operating systems, that's of course a fuzzy rule but it turns out that the number of common offenders shipping outdated toolchains is small.
>
> My proposal is: look at the versions of OS's released in the last two years and check if they have shipped an outdated toolchain.
>
> - Freebsd 10 is on Clang/libc++ by default, FreeBSD 9 also shipped Clang. Don't see problems here.
> - Not sure about other BSD's, but I'd expect them to either follow FreeBSD or provide a newer GCC already.
> - OS X is on Clang/libc++ by default now and has shipped Clang for a while. No issue here.
> - Windows is special as people have to manage their own toolchain. However, we have aggressively dropped old MSVC versions in the past, I doubt dropping MSVC 2010 is a big problem as there's still 2012 and 2013 for people to pick from.
>
> Then there's the long list of linux distros. I looked at those supported by Clang's toolchain config right now.
> - Debian has (finally) switched to GCC 4.7. I don't think supporting old stable (Debian 6 is from 2011, GCC 4.4) really helps anyone.
> - RHEL/CentOS is still on GCC 4.4 as far as I know. This is a problem if not solved within the next 6 months.
> - SLES 11 was upgraded to GCC 4.7 in a service pack recently.
> - Ubuntu is on GCC 4.7; LTS is on 4.6 but the next LTS release is likely out before LLVM 3.5 ships.
> - The remaining distros have shorter release cycles (Arch, Exherbo, Fedora, OpenSUSE) and have migrated to a recent toolchain long ago.
>
Hi,
Ubuntu 13.10 is released and shipping g++-4.8.1. Ubuntu 14.04 is LTS and will support
g++-4.8.1. g++-4.8.1 claims to be fully compliant with C++11.
My understanding is g++4.7 is broken. I would use 4.7.2 or later.
enjoy,
Karen
--
Karen Shaeffer Be aware: If you see an obstacle in your path,
Neuralscape Services that obstacle is your path. Zen proverb
More information about the cfe-dev
mailing list