c++/libc++ help needed for chromium update

Dimitry Andric dim at FreeBSD.org
Fri Mar 18 17:23:00 UTC 2016


On 17 Mar 2016, at 12:38, Christoph Moench-Tegeder <cmt at 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.
> 
> 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.xctoolchain/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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 194 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.freebsd.org/pipermail/freebsd-toolchain/attachments/20160318/f026eaeb/attachment.sig>


More information about the freebsd-toolchain mailing list