https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90833
Jonathan Wakely <redi at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution|--- |INVALID
--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> ---
The bug you took the code from is a bug in the C front end. The C front end
still accepts the code, and so does Clang's C compiler.
If you're reporting a bug in the C++ compiler, it's a separate bug. G++ accepts
this but gives a warning with -Wpedantic:
90833.c: In function ‘int main()’:
90833.c:3:26: warning: ‘inline’ specifier invalid for function ‘f’ declared out
of global scope [-Wpedantic]
extern inline void f();
^
So this seems to be by design.