https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66228
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |wrong-code Status|UNCONFIRMED |NEW Last reconfirmed| |2015-05-21 CC| |hubicka at gcc dot gnu.org Ever confirmed|0 |1 Known to fail| |4.8.4, 4.9.2 --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- I think this is an effective duplicate of PR61886. With GCC 5 I get rguenther@murzim:/tmp> gcc-5 t.i -O -flto /usr/include/bits/error.h: In function ‘error’: /usr/include/bits/error.h:37:1: error: inlining failed in call to always_inline ‘error’: recursive inlining error (int __status, int __errnum, const char *__format, ...) ^ /usr/include/bits/error.h:40:5: error: called from here __error_noreturn (__status, __errnum, __format, __va_arg_pack ()); ^ /usr/include/bits/error.h:37:1: error: inlining failed in call to always_inline ‘error’: recursive inlining error (int __status, int __errnum, const char *__format, ...) ^ /usr/include/bits/error.h:40:5: error: called from here __error_noreturn (__status, __errnum, __format, __va_arg_pack ()); ^ ... I can reproduce the odd code generation with GCC 4.9 and 4.8. I suspect the issue is related to the above.