From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id E474A138824 for ; Sun, 19 Oct 2014 22:52:41 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 74B37E0883; Sun, 19 Oct 2014 22:52:35 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 89104E0864 for ; Sun, 19 Oct 2014 22:52:34 +0000 (UTC) Received: from [192.168.3.7] (cpe-74-77-145-97.buffalo.res.rr.com [74.77.145.97]) (using TLSv1 with cipher ECDHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) (Authenticated sender: blueness) by smtp.gentoo.org (Postfix) with ESMTPSA id 5318A340478 for ; Sun, 19 Oct 2014 22:52:33 +0000 (UTC) Message-ID: <544440F7.2020507@gentoo.org> Date: Sun, 19 Oct 2014 18:53:43 -0400 From: "Anthony G. Basile" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.8.0 Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org MIME-Version: 1.0 To: Gentoo Development Subject: [gentoo-dev] RFC: News item regarding c++98 vs c++11 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Archives-Salt: fd9bfa50-0233-48c5-9189-928a43026b1a X-Archives-Hash: 4fa0c84858b4df49668da20302fc5b6f Hi everyone, I debated about whether to write a news item about c++11 abi. Usually our news items are about some change which requires user intervention. But this is just precautionary. With more packages needing c++11 because of source changes, we may want to inform users about breakage at the ABI level in case they do something like add -std=c++11 to their global CXXFLAGS. Let me know if you think its worth sending out and/or any other suggestions. Title: GCC 4.7 Introduces New c++11 ABI Author: Anthony G. Basile Content-Type: text/plain Posted: 2014-10-20 Revision: 1 News-Item-Format: 1.0 Display-If-Installed: >=sys-devel/gcc-4.7.0 Display-If-Keyword: amd64 Display-If-Keyword: arm Display-If-Keyword: mips Display-If-Keyword: ppc Display-If-Keyword: ppc64 Display-If-Keyword: x86 Display-If-Keyword: amd64-fbsd Display-If-Keyword: x86-fbsd GCC 4.7 introduced the new experimental 2011 ISO C++ standard [1], along with its GNU variant. This new standard is not the default in GCC 4.7, 4.8 or 4.9, the default is still gnu++98, but it can be enabled by passing -std=c++11 or -std=gnu++11 to CXXFLAGS. Users that wish to try c++11 should exercise caution because it is not ABI-compatible with c++98. Thus linking c++98 and c++11 objects is likely to cause breakage. For packages which are self-contained and do not link against any libraries written in C++, there is no problem. However, switching to c++11 and then building packages which link against any of the numerous libraries still in the older ABI, can lead to a crippled system. This is a precautionary news item and the typical user need not do anything. However, as c++11 gains in popularity and the number of packages using it increase, it is important that users understand these precautions. For an ABI compliance checker, and more information about C++ ABIs, see [2]. Ref. [1] http://www.stroustrup.com/C++11FAQ.html [2] http://ispras.linuxbase.org/index.php/ABI_compliance_checker -- Anthony G. Basile, Ph.D. Gentoo Linux Developer [Hardened] E-Mail : blueness@gentoo.org GnuPG FP : 1FED FAD9 D82C 52A5 3BAB DC79 9384 FA6E F52D 4BBA GnuPG ID : F52D4BBA