https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124812
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jakub at gcc dot gnu.org
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
I believe this has been discussed in the past.
At least at some point, glibc headers have been doing something like
typeof (__builtin_whatever) __builtin_whatever __attribute__((whatever));
or similar, adding attributes or asm redirects to builtins.
Furthermore, e.g. libatomic (but user code can as well) define __atomic_* or
__sync_*
functions which are also builtins.
So what exactly can be rejected as clearly invalid (like the above testcase)
and what needs to be accepted is fuzzy.