https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68272
--- Comment #8 from Sergey Organov <sorganov at gmail dot com> --- That's exactly the problem: why builtins are (implicitly) declared "extern inline" in C99 compilation mode? It seems logical to rather declare them "inline" in this mode. Overall, even though my own issue is indeed solved by using __attribute__((gnu_inline)), this issue still seems to be an unfortunate inconsistency in GCC.