public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Jan Kundrát" <jkt@gentoo.org>
To: <gentoo-dev@lists.gentoo.org>
Subject: Re: [gentoo-dev] How to support C++11 in libraries?
Date: Thu, 19 Dec 2013 09:43:40 +0100	[thread overview]
Message-ID: <fa67a901-39b8-4a6b-8d95-13e34c84d42d@gentoo.org> (raw)
In-Reply-To: <86mwjxty58.fsf@moguhome00.in.awa.tohoku.ac.jp>

On Thursday, 19 December 2013 02:41:55 CEST, heroxbd@gentoo.org wrote:
> I'd like to make an analogy to the version bump of gcc[1]. We (gentoo)
> decide to support c++11 officially or not. If so, open a tracker bug to
> push it globally. If not, patch lldb to support non-c++11, or leave it
> up to the user to fiddle with the CXXFLAGS, where we only point the user
> by to proper docs.

To be honest, I do not really see a link between the "let's bring in a new 
version of compiler, it is a bit stricter in some situations, but these 
were bugs anyway, like missing headers or unfounded assumptions about 
memcpy()" with "let's support a new version of language which produces 
object files with different ABI". Perhaps a Python 2.6 vs. Python 3.3 is a 
better analogy?

Anyway, GCC 4.8 is pretty clear that the C++11's support is still 
experimental [1] and subject to change [2]. The upstream developers have 
announced that they plan to break the ABI of the code using C++11 features 
in 4.9 [3].

Please also note that this is a very complicated problem, much more 
difficult than "code uses C++11's features -> it is incompatible". So far, 
the only known incompatibility is in the way STL is built. The impact of 
the other changes like the modified signatures of a couple of STL methods 
is not clear to me (and I did search for an ultimate answer). Even the 
document listing the breakage [4] does not provide a clear message "if you 
do $FOO, stuff breaks, but $BAR is completely safe".

For example, there is no reason for not building e.g. Qt5 with C++11 
support. In fact, limiting it to use just the C++98 features would be 
considered a regression from the perspective of a developer using Qt.

Right now, it seems that we shall wait at least for GCC 4.9 to come and for 
upstream to decide how to solve this properly.

Cheers,
Jan

[1] http://gcc.gnu.org/gcc-4.8/cxx0x_status.html
[2] https://lwn.net/Articles/552831/
[3] https://lwn.net/Articles/552750/
[4] http://gcc.gnu.org/wiki/Cxx11AbiCompatibility


  reply	other threads:[~2013-12-19  8:43 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-18  7:54 [gentoo-dev] How to support C++11 in libraries? Michał Górny
2013-12-18  8:20 ` "C. Bergström"
2013-12-18 18:07   ` Michał Górny
2013-12-18 13:58 ` heroxbd
2013-12-18 16:29   ` Jan Kundrát
2013-12-18 16:37     ` "C. Bergström"
2013-12-18 16:50       ` Jan Kundrát
2013-12-18 17:05         ` "C. Bergström"
2013-12-18 17:33           ` Jan Kundrát
2013-12-18 17:47             ` Kent Fredric
2013-12-18 17:56               ` "C. Bergström"
2013-12-19  1:45                 ` heroxbd
2013-12-19  8:20                 ` Michał Górny
2013-12-19  8:28                   ` "C. Bergström"
2013-12-19  8:35                     ` Michał Górny
2013-12-19  8:44                       ` "C. Bergström"
2013-12-19 12:28                         ` Jan Kundrát
2013-12-19  8:45                       ` Jan Kundrát
2013-12-19  8:47                   ` Georg Rudoy
2013-12-18 17:49             ` "C. Bergström"
2013-12-18 18:28             ` Georg Rudoy
2013-12-19  1:41             ` heroxbd
2013-12-19  8:43               ` Jan Kundrát [this message]
2013-12-19  9:18                 ` Michał Górny
2013-12-19 13:47                   ` heroxbd
2013-12-19 14:46                     ` Michał Górny
2013-12-19 15:12                       ` heroxbd
2013-12-19 16:56                     ` Ciaran McCreesh
2013-12-19 15:17                   ` Jan Kundrát
2013-12-19 16:29                     ` vivo75
2013-12-19 16:51                       ` Jan Kundrát
2013-12-21  2:36                   ` [gentoo-dev] " Ryan Hill
2013-12-18 18:15   ` [gentoo-dev] " Michał Górny
2013-12-18 20:58     ` [gentoo-dev] " Martin Vaeth
2013-12-19  2:01     ` [gentoo-dev] " heroxbd
2013-12-18 14:27 ` Ian Stakenvicius
2013-12-18 18:10 ` Anthony G. Basile
2013-12-18 18:28   ` Ian Stakenvicius
2013-12-19  8:58 ` Sven Eden
2013-12-19  9:07   ` Michał Górny
2013-12-19 15:00     ` Ian Stakenvicius
2013-12-19 15:23       ` Jan Kundrát
2013-12-19 16:00         ` Anthony G. Basile
2013-12-20  9:00         ` [gentoo-dev] " Martin Vaeth
2013-12-20 12:35           ` [gentoo-dev] " Jan Kundrát
2013-12-20 17:35             ` [gentoo-dev] " Martin Vaeth
2013-12-20 11:56         ` [gentoo-dev] " Sven Eden
2013-12-20 12:45           ` Jan Kundrát
2013-12-20 12:54             ` Georg Rudoy
2013-12-20 17:49             ` [gentoo-dev] " Martin Vaeth
2013-12-20 15:10           ` [gentoo-dev] " Ian Stakenvicius
2013-12-19 15:51       ` Anthony G. Basile

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=fa67a901-39b8-4a6b-8d95-13e34c84d42d@gentoo.org \
    --to=jkt@gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox