Re: Current and upcoming toolchain changes for jessie
On Wed, May 08, 2013 at 08:08:31AM +0200, Florian Weimer wrote:
> * Roger Leigh:
> > On Tue, May 07, 2013 at 03:25:29PM +0200, Matthias Klose wrote:
> >> The decision when to make GCC 4.8 the default for other architectures
> >> is left to the Debian port maintainers.
> > This makes using C++11 and other features only in 4.8 rather difficult.
> C++11 hasn't got a stable API yet (implying mass rebuilds on compiler
> updates). Do we really want to encourage its use at this point?
While the C++11 API isn't completed in its entirety, a large proportion
of it is complete, and as far as I am aware, the API for those parts is
stable and there should be no issues at all with using these. For
example: std::shared_ptr, std::unique_ptr, std::tuple in the standard
library, and language features such as decltype, nullptr, range-based
for loops etc. Other parts /are/ broken, such as std::regex; I'm a
little surprised this is even present given its broken state, and the
number of GCC bug reports relating to it reflect that! I don't see a
problem with using a functional subset of it.
I don't think that Debian is really in a position to influence
whether or not upstreams use particular features of an ISO standard!
They /are/ present and functional; they /will/ be used; any API/ABI
issues (if any) will just need to be dealt with--it's part of
I've moved schroot's development branch to use a conservative subset
of C++11 supported by GCC 4.7 and greater, so that I can support its
use in stable as well as testing and unstable. The compiler support
for C++11 isn't an issue--it's present and working. Having a different
version of GCC on different architectures definitely *is* a problem--
if an architecture can't have GCC 4.8 as the default, then maybe we
shouldn't be considering it as a release architecture; and the same
applies to binutils and the rest of the toolchain.
.''`. Roger Leigh
: :' : Debian GNU/Linux http://people.debian.org/~rleigh/
`. `' schroot and sbuild http://alioth.debian.org/projects/buildd-tools
`- GPG Public Key F33D 281D 470A B443 6756 147C 07B3 C8BC 4083 E800