From owner-svn-src-head@FreeBSD.ORG Mon Feb 3 18:54:57 2014 Return-Path: Delivered-To: svn-src-head@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 83781889; Mon, 3 Feb 2014 18:54:57 +0000 (UTC) Received: from theravensnest.org (theraven.freebsd.your.org [216.14.102.27]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 4C40517C3; Mon, 3 Feb 2014 18:54:57 +0000 (UTC) Received: from [192.168.0.7] (cpc28-cmbg15-2-0-cust64.5-4.cable.virginm.net [86.27.189.65]) (authenticated bits=0) by theravensnest.org (8.14.5/8.14.5) with ESMTP id s13IspRH027607 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Mon, 3 Feb 2014 18:54:53 GMT (envelope-from theraven@FreeBSD.org) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 7.0 \(1822\)) Subject: Re: svn commit: r261283 - in head: contrib/libc++ contrib/libc++/include contrib/libc++/include/experimental contrib/libc++/include/ext contrib/libc++/src etc/mtree lib/libc++ sys/sys tools/build/mk From: David Chisnall In-Reply-To: <20140203133254.243db1cd@kan.dyndns.org> Date: Mon, 3 Feb 2014 18:54:46 +0000 Content-Transfer-Encoding: quoted-printable Message-Id: <73ED697C-09CC-49D6-8EBD-0F0E20232729@FreeBSD.org> References: <201401300744.s0U7iNLt016044@svn.freebsd.org> <20140203123235.GA1540@mole.fafoe.narf.at> <20140203133254.243db1cd@kan.dyndns.org> To: Alexander Kabaev X-Mailer: Apple Mail (2.1822) Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, Stefan Farfeleder , Dimitry Andric , src-committers@FreeBSD.org X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Feb 2014 18:54:57 -0000 On 3 Feb 2014, at 18:32, Alexander Kabaev wrote: > More than likely. It does appear libc++ does not go through same pains > to maintain ABI stable as libstdc++ does. The lack of all and any > symbol versions in shared library binary strongly suggests that not > only they do not bother with ABI stability, they simply can't enforce > it at the moment even if they wanted to. libc++ aims to provide a stable ABI, however it does so in a manner that = is intended to integrate with the source language, rather than by = applying linker hacks post facto (which is very hard to do write with = C++). Every std:: class in libc++ is implemented inside a version = namespace inside std, and then imported into std:: in the header. = ABI-breaking classes should be inside a new version namespace. If you have examples where the ABI was not accidentally changed, then = please report them as bugs and we will try to fix them. If you just = have unfounded supposition, then it is not helpful to the discussion. David