C++11 enabling in F22?

Marek Skalický mskalick at redhat.com
Mon Oct 26 12:10:52 UTC 2015


On Mon, 2015-10-26 at 11:29 +0000, Tom Hughes wrote:
> On 26/10/15 11:23, Peter Robinson wrote:
> > On Mon, Oct 26, 2015 at 11:13 AM, Marek Skalický <mskalick at redhat.com> wrote:
> >> Hello everyone,
> >> I would like to ask what do you think about enabling c++11 in library in
> >> F22? Is it permitted by Fedora guidelines?
> >>
> >> I am asking because of this bug -
> >> https://bugzilla.redhat.com/show_bug.cgi?id=1274307 . And I want to know
> >> the opinion of someone else, to decide.
> >
> > It was explicitly not enabled in F-22 because it's not backwards
> > compatible and required a mass rebuild for all c++ applications. It's
> > enabled by default, and we had a mass rebuild as a result, in Fedora
> > 23. As a result of the impact we won't be making such changes for a
> > release that is long GA.
> 
> You're confusing two different things, though without knowing what that 
> configure patch actually does we can't know what the answer is here.
> 
> There is, as far as I know, no problem using -std=c++11 in F22 or any 
> other version of Fedora, it's just that the result might not be fully 
> standards compliant.
> 
> Specifically in F22 there are two minor changes which require a change 
> to the library ABI and as F22 was built with the old ABI you won't get 
> those changes. Neither should affect whether code compiles and works though.
> 
> So the only thing you must not do in F22 is to set the define that 
> selects the new ABI but you would probably find out quite quickly as you 
> did as you would fail to link if you used any other C++ libraries that 
> had been built with the old ABI.
> 
> Which is why I say we need to know what the configure flag does - my 
> guess is that it just sets -std=c++11 which is fine. If it also sets the 
> define to select the new ABI then that might be a problem.

Yes it only set -std=c++11. However there could be some problem with
linking application with -std=c++1 to driver library built without
-std=c++11 - upstream bug https://jira.mongodb.org/browse/CXX-458
F22 is not too old to thinks like this? (to force dependent application
to rebuild,...)?
Or is the mentioned bug only problem of different ABIs and without
changing value of _GLIBCXX_USE_CXX11_ABI there couldn't be any problem?

Thanks,
Marek

> 
> Tom
> 
> -- 
> Tom Hughes (tom at compton.nu)
> http://compton.nu/




More information about the devel mailing list