From owner-freebsd-toolchain@freebsd.org Thu Mar 24 23:31:22 2016 Return-Path: Delivered-To: freebsd-toolchain@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 82F1CADDC6C for ; Thu, 24 Mar 2016 23:31:22 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mailman.ysv.freebsd.org (mailman.ysv.freebsd.org [IPv6:2001:1900:2254:206a::50:5]) by mx1.freebsd.org (Postfix) with ESMTP id 679C913A0 for ; Thu, 24 Mar 2016 23:31:22 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: by mailman.ysv.freebsd.org (Postfix) id 62F80ADDC69; Thu, 24 Mar 2016 23:31:22 +0000 (UTC) Delivered-To: toolchain@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 62981ADDC68 for ; Thu, 24 Mar 2016 23:31:22 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id 45F35139F for ; Thu, 24 Mar 2016 23:31:22 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [IPv6:::1]) by freefall.freebsd.org (Postfix) with ESMTP id 3AF3C1D34 for ; Thu, 24 Mar 2016 23:31:22 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [172.31.3.2]) by mail.xzibition.com (Postfix) with ESMTP id ECA0D200FD for ; Thu, 24 Mar 2016 23:31:21 +0000 (UTC) X-Virus-Scanned: amavisd-new at mail.xzibition.com Received: from mail.xzibition.com ([172.31.3.2]) by mail.xzibition.com (mail.xzibition.com [172.31.3.2]) (amavisd-new, port 10026) with LMTP id 2gKUlCXKPpRn for ; Thu, 24 Mar 2016 23:31:19 +0000 (UTC) Subject: Re: CXXSTD=c++11 DKIM-Filter: OpenDKIM Filter v2.9.2 mail.xzibition.com 048DD200F7 References: <56F46BE0.7080909@FreeBSD.org> <635A0A5E-63F2-4D42-B6D5-0E841AA713FE@bsdimp.com> To: toolchain@FreeBSD.org From: Bryan Drewery Openpgp: id=F9173CB2C3AAEA7A5C8A1F0935D771BB6E4697CF; url=http://www.shatow.net/bryan/bryan2.asc Organization: FreeBSD Message-ID: <56F478C9.7030900@FreeBSD.org> Date: Thu, 24 Mar 2016 16:31:21 -0700 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <635A0A5E-63F2-4D42-B6D5-0E841AA713FE@bsdimp.com> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="jdNKOdfMUajEje00hgDu9PC6wkvHd4IGB" X-BeenThere: freebsd-toolchain@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: Maintenance of FreeBSD's integrated toolchain List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 24 Mar 2016 23:31:22 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --jdNKOdfMUajEje00hgDu9PC6wkvHd4IGB Content-Type: multipart/mixed; boundary="VhfWhj4rpRG4bAB9ad7AIoorXdBskCoal" From: Bryan Drewery To: toolchain@FreeBSD.org Message-ID: <56F478C9.7030900@FreeBSD.org> Subject: Re: CXXSTD=c++11 References: <56F46BE0.7080909@FreeBSD.org> <635A0A5E-63F2-4D42-B6D5-0E841AA713FE@bsdimp.com> In-Reply-To: <635A0A5E-63F2-4D42-B6D5-0E841AA713FE@bsdimp.com> --VhfWhj4rpRG4bAB9ad7AIoorXdBskCoal Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 3/24/2016 3:39 PM, Warner Losh wrote: >=20 >> On Mar 24, 2016, at 4:36 PM, Bryan Drewery wrot= e: >> >> Is there any problem with forcing -std=3Dc++11 for all CXX/LIB_CXX bui= lds >> now? We do this when using an external GCC since it doesn't default t= o >> the c++11 standard quite yet. As far as I understand, we require c++1= 1 >> to build clang/libc++. >> >> It seems to be the problem at >> https://lists.freebsd.org/pipermail/freebsd-toolchain/2015-October/001= 757.html >> which I've fixed in an upcoming commit to properly pass -std=3Dc++11 t= o >> the lib32 build in CXXFLAGS. >=20 > Wouldn=E2=80=99t that break the spark and mips builds if we did it alwa= ys? They are the > last stragglers to not have a working, fully vetted clang in the tree. >=20 When building with external GCC we're forcing it to use libc++ which uses static_assert which doesn't work without -std=3Dc++11. The external= GCC support now always forces -std=3Dgnu++11 but I was testing with removing it. libatf blows up: > In file included from /usr/obj/powerpc.powerpc64/root/git/freebsd/tmp/u= sr/include/c++/v1/ostream:137:0, > from /root/git/freebsd/contrib/atf/atf-c++/detail/appl= ication.hpp:29, > from /root/git/freebsd/contrib/atf/atf-c++/detail/appl= ication.cpp:26: > /usr/obj/powerpc.powerpc64/root/git/freebsd/tmp/usr/include/c++/v1/memo= ry: In member function 'void std::__1::default_delete<_Tp>::operator()(_T= p*) const': > /usr/obj/powerpc.powerpc64/root/git/freebsd/tmp/usr/include/c++/v1/memo= ry:2514:13: error: typedef '__t2514' locally defined but not used [-Werro= r=3Dunused-local-typedefs] > static_assert(sizeof(_Tp) > 0, "default_delete can not del= ete incomplete type"); I stopped testing at this point. We've fixed it by always passing -std=3Dgnu++11 to the entire build but then that ends up hiding other issues like that Static_assert in libcxxrt being misused. Not passing -std=3Dc++11 to the lib32 build just happens to work because we don't normally build c++ libraries in it that don't otherwise force -std=3Dc++11 (such as libc++ does now). --=20 Regards, Bryan Drewery --VhfWhj4rpRG4bAB9ad7AIoorXdBskCoal-- --jdNKOdfMUajEje00hgDu9PC6wkvHd4IGB Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBAgAGBQJW9HjJAAoJEDXXcbtuRpfPQA8H/iC/m9HfZEG7usLq9OLmwoGo R4ybm6Z3rdZIaNQ/L1pLSjmlg/OxaqWhUGV1UnNkfyMoGhr5KuB7e1eOnlNZdg5B ou8BxpdyttpQowfzI2Okf9rLUdGm1el6PnOR+EdJfuG6shHKsIiFjfHNWZuT7Qx1 Mo3Vx7SSIytQc0bwVlGsHhfFA5SbKdgpYo7Q9gM30hPPd+nfPMetIldegZExBP85 XgO+Y/RoJeaSq/59AlVGmUDb6FLflyFCj5HlTb+oaL+8lkOC+lBT34+JslSnj0+A 2YJvl3AIm14HwoNzA+ZDNLJQFI4w+q2/1Pgg/AMWrHLkOnOx9gAxH1DE4F5fSq8= =2I2h -----END PGP SIGNATURE----- --jdNKOdfMUajEje00hgDu9PC6wkvHd4IGB--