This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: [PATCH] PR libstdc++/87431 re-adjust never-valueless optimizations
- From: Ville Voutilainen <ville dot voutilainen at gmail dot com>
- To: Antony Polukhin <antoshkka at gmail dot com>
- Cc: Jonathan Wakely <jwakely at redhat dot com>, "libstdc++" <libstdc++ at gcc dot gnu dot org>, gcc-patches List <gcc-patches at gcc dot gnu dot org>, Tim Shen <timshen91 at gmail dot com>
- Date: Wed, 3 Apr 2019 23:39:30 +0300
- Subject: Re: [PATCH] PR libstdc++/87431 re-adjust never-valueless optimizations
- References: <20190403162543.GO943@redhat.com> <CAKqmYPY-r3z4hk0jG208qjPy+ZADcupvy2rsiGWNMqrMmQ-n1g@mail.gmail.com>
On Wed, 3 Apr 2019 at 23:32, Antony Polukhin <antoshkka@gmail.com> wrote:
>
> Looks good. Covers most of the use cases.
>
> Please consider adding filesystem::path, pair, tuple, string_view?, error_code, list, deque (myabe all the other containers), optional, variant itself (for cases when variant holds another variant).
>
> It would be very useful for the _Never_valueless_alt to return true for aggregates that hold only never valueles types. Not sure that there is a compiler builtin for getting all the aggregates types, but it could be implemented via metaprogramming.
What metaprogram is capable of that?
> When is the ABI freeze for the C++17 additions?
This approach concerns me; it's a "get it right at the first chance
and then never change it", which is.. ..awkward. But I don't know
whether there's any
way around that.