[Bug c++/89244] __builtin_is_constant_evaluated not documented

2019-03-11 Thread msebor at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89244

Martin Sebor  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED
   Target Milestone|--- |9.0

--- Comment #6 from Martin Sebor  ---
Done in r269129.

[Bug c++/89244] __builtin_is_constant_evaluated not documented

2019-02-13 Thread msebor at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89244

Martin Sebor  changed:

   What|Removed |Added

   Keywords||patch

--- Comment #5 from Martin Sebor  ---
Patch: https://gcc.gnu.org/ml/gcc-patches/2019-02/msg01000.html

[Bug c++/89244] __builtin_is_constant_evaluated not documented

2019-02-09 Thread msebor at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89244

Martin Sebor  changed:

   What|Removed |Added

 Status|RESOLVED|ASSIGNED
   Last reconfirmed||2019-02-10
 Resolution|INVALID |---
 Ever confirmed|0   |1

--- Comment #4 from Martin Sebor  ---
As bug 88977 shows, people use the built-in directly; sooner or later, they
always do, whether or not the built-ins are intended to be.   Before confirming
that bug I went looking for its documentation to make sure I wasn't missing
something and found none, so all I had to go on was the C++ proposal.

GCC documents the vast majority of built-ins, whether or not they are meant to
be used directly.  There are countless examples, including the atomic
built-ins,  __builtin_setjmp and _longjmp for nonlocal Gotos, or
__builtin_object_size.  The manual even exhaustively lists all the C library
functions that it provides built-ins for, even though there is little reason to
do that.  As Jonathan points out, the C++ Type Traits built-ins are documented
as well.  The target sections of the manual exhaustively enumerate
target-specific intrinsics (regrettably, often without specifying their
semantics) even though there are higher-level APIs that users are expected to
use.

This is all immensely helpful, both to users and to GCC developers.  Let me
take care of adding something for __builtin_is_constant_evaluated.

[Bug c++/89244] __builtin_is_constant_evaluated not documented

2019-02-08 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89244

--- Comment #3 from Jonathan Wakely  ---
Well we do document some of them:
https://gcc.gnu.org/onlinedocs/gcc/Type-Traits.html

I'm fine not doing so though.

[Bug c++/89244] __builtin_is_constant_evaluated not documented

2019-02-08 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89244

Richard Biener  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |INVALID

--- Comment #2 from Richard Biener  ---
We could document them in the internals manual but that's quite incomplete
anyways, so ... not a bug.

[Bug c++/89244] __builtin_is_constant_evaluated not documented

2019-02-07 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89244

Jakub Jelinek  changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #1 from Jakub Jelinek  ---
Why should it?  We don't want people to use it directly, they should use
std::is_constant_evaluated () which is documented.
We don't document most the C++ magic builtins either (__is_*, __has_*,
__builtin_launder), people shouldn't use those directly, they are private APIs
between libstdc++ and the compiler.