Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 18 Mar 2016 18:22:56 +0100
From:      Dimitry Andric <dim@FreeBSD.org>
To:        Christoph Moench-Tegeder <cmt@burggraben.net>
Cc:        freebsd-toolchain@freebsd.org
Subject:   Re: c++/libc++ help needed for chromium update
Message-ID:  <C999DFAB-01E7-41E7-AEFD-43FBF8D41582@FreeBSD.org>
In-Reply-To: <20160317113829.GA1752@squirrel.exwg.net>
References:  <20160316212749.GA1426@squirrel.exwg.net> <458AB9BF-4D4F-4F72-B2D7-79ACC8E19108@FreeBSD.org> <20160317113829.GA1752@squirrel.exwg.net>

next in thread | previous in thread | raw e-mail | index | archive | help

--Apple-Mail=_CC201581-BFAF-4B77-A030-09F8931B515B
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

On 17 Mar 2016, at 12:38, Christoph Moench-Tegeder <cmt@burggraben.net> =
wrote:
...
>> Last but not least, please ask about this on the Chromium mailing =
lists.
>> There must be lots of C++ libraries out there with non-trivial =
std::pair
>> copy constructors, and they must have some sort of workaround for =
those.
>=20
> It's in the nature of chromium that it's Open Source, but the list of
> target platforms is rather short - officially supported are Windows
> (and I don't know how many people build their own chromium there),
> OS X and Linux. Chromium tends to bundle a lot of dependencies, I
> believe the default build process on Linux even brings it's own
> private clang installation if you don't stop it. The only other
> "special" build I'm aware of is OpenBSD, and they use gcc 4.9
> with it's bundled libstdc++ (their base system uses the old gcc).
> So I guess we're the odd ones with our libc++...

Not really, OSX also uses libc++ these days.  However, they use the
trivial pair copy constructor by default, as upstream libc++ does.  See
=
/Applications/Xcode.app/Contents//Developer/Toolchains/XcodeDefault.xctool=
chain/usr/include/c++/v1/__config
on a Mac with Xcode installed, which has:

   650  #ifndef _LIBCPP_TRIVIAL_PAIR_COPY_CTOR
   651  #  define _LIBCPP_TRIVIAL_PAIR_COPY_CTOR 1
   652  #endif

So not having the trivial pair copy constructor makes us the odd ones
out, but until now I didn't see any port failing because of it.  We
could enable this feature, but then we'd have to bump our libc++
version, together with all the followup hassle.

It would still be interesting to find some workaround in Chrome's code,
though.  It used to build in the previous version?  (I remember building
it successfully a few times in the past, at least.)

-Dimitry


--Apple-Mail=_CC201581-BFAF-4B77-A030-09F8931B515B
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

iEYEARECAAYFAlbsOXAACgkQsF6jCi4glqPFcgCgz1Utm4KY4FfKCg6vDBUnW3oF
9fcAn3UMmUOhvkbLuNHB0KQHGaNIwmeB
=AVkx
-----END PGP SIGNATURE-----

--Apple-Mail=_CC201581-BFAF-4B77-A030-09F8931B515B--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?C999DFAB-01E7-41E7-AEFD-43FBF8D41582>