From owner-freebsd-toolchain@freebsd.org Thu Mar 17 11:38:34 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 24A7BAD45A8 for ; Thu, 17 Mar 2016 11:38:34 +0000 (UTC) (envelope-from cmt@burggraben.net) Received: from smtp.burggraben.net (smtp.burggraben.net [IPv6:2a01:4f8:140:50a2::3:1]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "ns.exwg.net", Issuer "Christoph Moench-Tegeder" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id DF5B9AE2; Thu, 17 Mar 2016 11:38:33 +0000 (UTC) (envelope-from cmt@burggraben.net) Received: from localhost (localhost [127.0.0.1]) by smtp.burggraben.net (Postfix) with ESMTP id C4BCE6002EB; Thu, 17 Mar 2016 12:38:30 +0100 (CET) X-Spam-Scanned: by amavisd-new at exwg.net Received: from smtp.burggraben.net ([127.0.0.1]) by localhost (ns.burggraben.net [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ekPXWaEqj7-Z; Thu, 17 Mar 2016 12:38:30 +0100 (CET) Received: from squirrel.exwg.net (unknown [62.237.32.194]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "squirrel.exwg.net", Issuer "Christoph Moench-Tegeder" (verified OK)) by smtp.burggraben.net (Postfix) with ESMTPS; Thu, 17 Mar 2016 12:38:30 +0100 (CET) Received: by squirrel.exwg.net (Postfix, from userid 1000) id 9156261FA6; Thu, 17 Mar 2016 12:38:29 +0100 (CET) Date: Thu, 17 Mar 2016 12:38:29 +0100 From: Christoph Moench-Tegeder To: Dimitry Andric Cc: freebsd-toolchain@freebsd.org Subject: Re: c++/libc++ help needed for chromium update Message-ID: <20160317113829.GA1752@squirrel.exwg.net> References: <20160316212749.GA1426@squirrel.exwg.net> <458AB9BF-4D4F-4F72-B2D7-79ACC8E19108@FreeBSD.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <458AB9BF-4D4F-4F72-B2D7-79ACC8E19108@FreeBSD.org> User-Agent: Mutt/1.5.24 (2015-08-30) 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, 17 Mar 2016 11:38:34 -0000 ## Dimitry Andric (dim@FreeBSD.org): > In r261801 [1], we turned off the _LIBCPP_TRIVIAL_PAIR_COPY_CTOR option > in libc++, because it made the ABI incompatible with the version of > libc++ we had shipped before that time. However, this option makes the > std::pair copy constructor non-trivial, and this is a possible cause for > your compilation error. Ah, that sounds plausible. Let's see what the compiler says :) > Another thing you could try is to change the definition of scoped_ptr, > and comment out the deletion of its copy constructor. However, I'm > unsure what side effects this may cause, as it is probably unwise to > copy scoped_ptrs. Additionally, the scoped_ptrs are used widely throughout chromium, I'm not sure I'd be able to "fix" all the places. > 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++... Regards, Christoph -- Spare Space