Compiler version

Scott Kitterman kde at kitterman.com
Thu Jun 28 20:34:31 BST 2012


On Thursday, June 28, 2012 09:20:54 PM Thiago Macieira wrote:
> On quinta-feira, 28 de junho de 2012 18.53.03, vivo75 at gmail.com wrote:
> > Il 28/06/2012 16:31, Thiago Macieira ha scritto:
> > > On quinta-feira, 28 de junho de 2012 14.38.37, vivo75 at gmail.com wrote:
> > >> actually for stability and feature related to c++11 gcc-4.7 is nearly
> > >> the minimum, but in my experience gcc-4.7 is still a bit rough so +1
> > >> for
> > >> gcc-4.6
> > > 
> > > That's nonsense. C++11 support in GCC 4.5 and 4.6 is just fine.
> > 
> > Thiago you work to qt5 which include the c++11 stuff, so probably you
> > know better than rumors around, must admit that I've spoken by those
> > rather than an extended experience in the field.
> 
> We may not be talking about the same thing.
> 
> > What made me think the rumors were true is:
> > a) many programs which support to be compiled with c++11 syntax require
> > gcc-4.7
> 
> It depends on which C++11 feature you're using. Qt has an #define for each
> of them so you can know if the compiler supports such a feature.
> 
> Qt does not require C++11 and will not for many years. What's more, any
> program requiring full and unrestricted C++11 support will be extremely
> niche and not very popular until at least 2014. For those of us living in
> the real world, we have to accept that C++11 support is limited and
> therefore limit what we use of it.
> 
> That being the case, GCC 4.5 and 4.6 are more than enough.
> 
> > b) that the resolved/fixed bug list is rather long:
> I used GCC 4.5 and 4.6 each for a year and I don't remember any serious bugs
> with them.
> 
> There was one bug I reported (I think it was 4.5), which wasn't promptly
> fixed because it was in C++11 and that was experimental. Another issue I
> remember, which is definitely non-fatal, is that constexpr variables end up
> in the .data section instead of the .rodata one in 4.6.

It's probably worth mentioning that there are issues in GCC 4.7 with mixing 
C++98 and C++11 code on one system.  Here's the best discussion of it I could 
find:

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53646

I don't pretend to understand all that, so I'm unlikely to be a good source of 
further answers, but this isn't just theoretical.  There are some projects in 
Ubuntu that were making a lot of use of C++11 features and they stepped all 
over this once Ubuntu moved to GCC 4.7 (which is standard in the current 
development release).

Scott K




More information about the kde-core-devel mailing list