From owner-freebsd-toolchain@freebsd.org Thu Mar 24 22:55:01 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 7000CADD5EB for ; Thu, 24 Mar 2016 22:55:01 +0000 (UTC) (envelope-from dim@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 5A55013E2 for ; Thu, 24 Mar 2016 22:55:01 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: by mailman.ysv.freebsd.org (Postfix) id 59A5DADD5EA; Thu, 24 Mar 2016 22:55:01 +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 5708FADD5E9 for ; Thu, 24 Mar 2016 22:55:01 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from tensor.andric.com (tensor.andric.com [87.251.56.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "tensor.andric.com", Issuer "COMODO RSA Domain Validation Secure Server CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 177E413E0; Thu, 24 Mar 2016 22:55:00 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from [IPv6:2001:7b8:3a7::e0f9:ae86:eb6f:2b6f] (unknown [IPv6:2001:7b8:3a7:0:e0f9:ae86:eb6f:2b6f]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id 7C6B6238CB; Thu, 24 Mar 2016 23:54:58 +0100 (CET) Subject: Re: CXXSTD=c++11 Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\)) Content-Type: multipart/signed; boundary="Apple-Mail=_3969F12E-2410-4600-90B7-0A5AB75721AE"; protocol="application/pgp-signature"; micalg=pgp-sha1 X-Pgp-Agent: GPGMail 2.6b2 (ebbf3ef) From: Dimitry Andric In-Reply-To: <56F46F67.2000807@FreeBSD.org> Date: Thu, 24 Mar 2016 23:54:49 +0100 Cc: toolchain@FreeBSD.org Message-Id: <7B77010A-B377-4B1A-835A-D48F59E5290D@FreeBSD.org> References: <56F46BE0.7080909@FreeBSD.org> <43ABA5F3-60E0-4A29-9698-B345A3DA0A8B@FreeBSD.org> <56F46E1B.4010605@FreeBSD.org> <56F46F67.2000807@FreeBSD.org> To: Bryan Drewery X-Mailer: Apple Mail (2.3124) 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 22:55:01 -0000 --Apple-Mail=_3969F12E-2410-4600-90B7-0A5AB75721AE Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=windows-1252 On 24 Mar 2016, at 23:51, Bryan Drewery wrote: >=20 > On 3/24/2016 3:45 PM, Bryan Drewery wrote: >> On 3/24/2016 3:44 PM, Dimitry Andric wrote: >>> On 24 Mar 2016, at 23:36, Bryan Drewery = wrote: >>>>=20 >>>> Is there any problem with forcing -std=3Dc++11 for all CXX/LIB_CXX = builds >>>> now? We do this when using an external GCC since it doesn't = default to >>>> the c++11 standard quite yet. As far as I understand, we require = c++11 >>>> to build clang/libc++. >>>=20 >>> Yes, but it already passes -std=3Dc++11 in the correct places, as = far as I >>> know. E.g. during the clang and libc++ builds. >>>=20 >>>=20 >>>> It seems to be the problem at >>>> = https://lists.freebsd.org/pipermail/freebsd-toolchain/2015-October/001757.= html >>>> which I've fixed in an upcoming commit to properly pass -std=3Dc++11 = to >>>> the lib32 build in CXXFLAGS. >>>=20 >>> Hm, is this occuring during the build of libcxxrt, or of libc++? If = it >>> is the former, then it seems that the system headers don't properly >>> declare _Static_assert() in that case. I have no clue as to why, = though >>> maybe it's picking something up from gcc's famously "fixed" standard >>> headers? >>>=20 >>=20 >> libcxxrt. >>=20 >> My fix also includes passing the proper -isystem =3D/usr/include/c++/v1= path. >>=20 >> I'll try without the -std change. >>=20 >>=20 >=20 > It fails without -std=3Dc++11 (there's more discussion in that link = and in > PR 205453). Yeah, I also commented on PR 205453 in the past, but I still don't understand where the external gcc gets its _Static_assert macro from. Or whether it gets it at all. Maybe we should place a hack for this in sys/cdefs.h? We shouldn't litter contrib code with #ifdef GCC_VERSION blocks. -Dimitry --Apple-Mail=_3969F12E-2410-4600-90B7-0A5AB75721AE Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.0.29 iEYEARECAAYFAlb0cEEACgkQsF6jCi4glqML/gCg9g21+RV7tUJEfWHwc/pX9sGi g2kAnA7RPbIL8csRNZw4pkfH1YTwipZk =HKl4 -----END PGP SIGNATURE----- --Apple-Mail=_3969F12E-2410-4600-90B7-0A5AB75721AE--