public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Georg Rudoy" <0xd34df00d@gmail.com>
To: "" <gentoo-dev@lists.gentoo.org>
Subject: Re: [gentoo-dev] [RFC] C++ standard in ebuilds
Date: Mon, 17 Sep 2018 14:38:55 -0400	[thread overview]
Message-ID: <5b9ff485.1c69fb81.6d812.c86a@mx.google.com> (raw)
In-Reply-To: <CAEdQ38GDt6s5As+OcWv9rQifDMmNg3Bs0rUdGkysKkeuLY316A@mail.gmail.com>

On 9/17/18 at 5:24 PM user Matt Turner <mattst88@gentoo.org> 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



  reply	other threads:[~2018-09-17 18:38 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-17 15:37 [gentoo-dev] [RFC] C++ standard in ebuilds Guilherme Amadio
2018-09-17 16:40 ` Vadim A. Misbakh-Soloviov
2018-09-18 12:46   ` Richard Yao
2018-09-18 14:26     ` Guilherme Amadio
2018-09-17 17:24 ` Matt Turner
2018-09-17 18:38   ` Georg Rudoy [this message]
2018-09-18 14:31   ` Guilherme Amadio
2018-09-21  7:17     ` Dennis Schridde

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5b9ff485.1c69fb81.6d812.c86a@mx.google.com \
    --to=0xd34df00d@gmail.com \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox