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

--- Comment #68 from Richard Biener <rguenth at gcc dot gnu.org> ---
Quoting standards.texi:

Most of the compiler support routines used by GCC are present in
@file{libgcc}, but there are a few exceptions.  GCC requires the
freestanding environment provide @code{memcpy}, @code{memmove},
@code{memset} and @code{memcmp}.  Contrary to the standards
covering @code{memcpy} GCC expects the case of an exact overlap
of source and destination to work and not invoke undefined behavior.
Finally, if @code{__builtin_trap} is used, and the target does
not implement the @code{trap} pattern, then GCC emits a call
to @code{abort}.

Reply via email to