[Bug c++/89244] __builtin_is_constant_evaluated not documented
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
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
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
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
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
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.