This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [C++ PATCH] Implement P0595R1 - so far as __builtin_is_constant_evaluated rather than std::is_constant_evaluated magic builtin
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Richard Biener <richard dot guenther at gmail dot com>
- Cc: Jason Merrill <jason at redhat dot com>, Nathan Sidwell <nathan at acm dot org>, jwakely at redhat dot com, GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Mon, 23 Jul 2018 12:28:12 +0200
- Subject: Re: [C++ PATCH] Implement P0595R1 - so far as __builtin_is_constant_evaluated rather than std::is_constant_evaluated magic builtin
- References: <20180722193121.GC7166@tucnak> <CAFiYyc3-syZD8J=pgvg8mF0VQiB56wxu=2CO5=eKp4Hm3bfAJg@mail.gmail.com>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
On Mon, Jul 23, 2018 at 12:17:42PM +0200, Richard Biener wrote:
> > Bootstrapped/regtested on x86_64-linux.
>
> Thanks for working on this. I wonder if we can completely hide this
> from the middle-end, without requiring defining of c_dialect_cxx.
> There is the BUILT_IN_FRONTEND class so you could somewhere
> manually inject a decl in that class for C++?
But then I couldn't handle folding of the builtin in the middle-end to false,
which is what I need (because in the FE it needs to be either folded to
true, or its folding deferred until later).
Or maybe in the C++ gimplification langhook?
Seems we have a single BUILT_IN_FRONTEND builtin in the whole compiler,
__integer_pack, but it doesn't act as a normal builtin, given it is a
templatish magic.
Jakub