https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89244

Martin Sebor <msebor at gcc dot gnu.org> changed:

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

--- Comment #4 from Martin Sebor <msebor at gcc dot gnu.org> ---
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.

Reply via email to