From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 447D3138334 for ; Mon, 17 Sep 2018 18:38:04 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 7F13DE0AFF; Mon, 17 Sep 2018 18:38:00 +0000 (UTC) Received: from mail-qk1-x730.google.com (mail-qk1-x730.google.com [IPv6:2607:f8b0:4864:20::730]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 26FC9E08F2 for ; Mon, 17 Sep 2018 18:38:00 +0000 (UTC) Received: by mail-qk1-x730.google.com with SMTP id j7-v6so9539847qkd.13 for ; Mon, 17 Sep 2018 11:38:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=message-id:subject:from:to:date:mime-version :content-transfer-encoding:user-agent:in-reply-to:references; bh=UOL9wDyq8/CqjuJ3lzIy0ySPdk4I1wIjjIFEsPC+lwg=; b=feRZ69pP7pzi5T0hWRgzr7Uf2xixO7mLVy15dGaq0OqiRTo+B5aeIAEUL+axpJ8g+u +9cLE5ZlE1GfQkimNrtQ4CILnjeoCkCNOWQ8JrAJHOTP6XdZ71TappAtpMC9dSJnEjf1 nINg0k8EN5FTEzXnUTICKhfMHPOedtRLePUqJOKln6p+mUNrS15Q4Jg4VAp8idjZXiBf TcJD1mKrlaH+SDtZ+bFn7CW0IcUoX61pRjwOS3rXNBMMWMCFi8fIMuNmPTSbXzVLLxL/ jcmCSiw3wkeMA2ZxypfMhMRiXKRg3Uzm8t+eZqyrZBRhQckPI2OVa6i71ThWXJFYA44M YGHg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:subject:from:to:date:mime-version :content-transfer-encoding:user-agent:in-reply-to:references; bh=UOL9wDyq8/CqjuJ3lzIy0ySPdk4I1wIjjIFEsPC+lwg=; b=AU8HSGcDCY72mlLVgLv14C/jUeNyyTEOQPtjqnAaXZ6iUqL6+7qBBshQxPt8NnpF+U MgWkezoKlWkmMxU/HAFeB1YA2jl2vgIWLQXDzZ6e8ZsgXkeeXnWEkKDUpxVpSgPVm4Mg b7Z2GWXZil/q+bG4yj9fmwCzx0sJKjkJtW+48aPH7M/n5QKfQ/TdPgfaSEpZEzAc8G5V hppSiaGgXVNw3HB/gVs5zcbyxRlAj+iNRKAr6X5LZNafNpksgIoBqhCxsIHl/Chzc1E2 3TAlMtqnPWRjMLOrgq7GPY+M+CKqNLK4AWV8cq6AqLDQC7SnYoS4fAzTfUrK0fJq7Q2a gAAw== X-Gm-Message-State: APzg51DofpYma/PCj7dkxpI+bmR4q8hGySPZaG/p12wNdLECJ9tDqOiO y1jgNirYVNWloeeq4EEAtnyBPuTb X-Google-Smtp-Source: ANB0VdbY/gu1sX2GL8EmM9iSS2CbiHSFIqhR5w2Ale/6ldiTAFOGaeVnA1v23ghxoxXDD3q6X4/3Yg== X-Received: by 2002:a37:1712:: with SMTP id i18-v6mr18225674qkh.58.1537209478682; Mon, 17 Sep 2018 11:37:58 -0700 (PDT) Received: from deadaven (pool-72-89-51-102.nycmny.fios.verizon.net. [72.89.51.102]) by smtp.gmail.com with ESMTPSA id k9-v6sm13194490qtk.2.2018.09.17.11.37.56 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 17 Sep 2018 11:37:57 -0700 (PDT) Message-ID: <5b9ff485.1c69fb81.6d812.c86a@mx.google.com> X-Google-Original-Message-ID: <17092018.023855722пп%MYQliW6reMlncIiWyyzg15Jf2fE=%0xd34df00d@gmail.com> Subject: Re: [gentoo-dev] [RFC] C++ standard in ebuilds From: "Georg Rudoy" <0xd34df00d@gmail.com> To: "" Date: Mon, 17 Sep 2018 14:38:55 -0400 Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit User-Agent: LeechCraft Snails 0.6.70-11950-g187d675944 In-Reply-To: References: <20180917153738.GA5402@gentoo.org> X-Archives-Salt: 5aa660a0-e9df-4515-b3b2-0b114f2183ee X-Archives-Hash: 8622713aad4f0109d9710ebbbf03416d On 9/17/18 at 5:24 PM user Matt Turner wrote: > I don't understand what a potential solution would be. > > The various projects use -std=c++XXX because that's what their code > requires. -std=c++XXX can't generally be changed. If a dependent > project is incompatible that's no different than any other case of > incompatible dependencies in Gentoo. It can't generally be downgraded. I'd expect very few post-C++11 packages to actually break when upgrading just the standard. > I think -std=c++XXX discussions before happened because gcc changed > the C++ ABI with -std=c++11. I don't think that's particularly > relevant here, since as far as I know different -std=c++XXX values > don't change the ABI with current gcc. noexcept specifier on functions became a part of the function type in C++17, so it can affect name mangling there. Given this code: void no () noexcept (false); void yes () noexcept (true); void foo1 (decltype (&no)) {} void foo2 (decltype (&yes)) {} the compiler will [1] mangle foo1 and foo2 differently depending on whether it's built using C++ <= 14 or C++ >= 17. [1] https://gcc.godbolt.org/z/xmZTBO -- Georg Rudoy