https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100005
--- Comment #14 from Thiago Macieira <thiago at kde dot org> --- (In reply to Jakub Jelinek from comment #13) > The same like in C. > I.e. > extern inline __attribute__((gnu_inline, always_inline, artificial)) int foo > (int x) { return x; } > // The above is typically from some header > int foo (int x) { return x; } > // The above is the out of line function definition Thanks, Jakub. At first sight that's not valid C++, but then since it's an extension it doesn't have to be. ICC even accepts the same syntax and generates the same non-weak symbol. Any way to do that without repeating the body, thus potentially causing an ODR violation? I'm not likely to use this feature, but asking for a rainy day. https://gcc.godbolt.org/z/96qW9ExcG