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
next prev parent 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