http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33763
Pat Haugen <pthaugen at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |pthaugen at gcc dot gnu.org --- Comment #21 from Pat Haugen <pthaugen at gcc dot gnu.org> 2011-03-11 22:16:12 UTC --- An example from libhugetlbfs. Note the original call wasn't recursive, following is reduced code I got from delta. $ cat gethugepagesizes.c extern __inline __attribute__ ((__always_inline__)) int open (__const char *__path, int __oflag, ...) { } void cleanup (void); open (const char *file, int flags, ...) { char fname[4096 + 1]; int fd; cleanup (); fd = open (fname, 01 | 0100); } void cleanup (void) { cleanup_fake_data (); } $ ~/install/gcc/trunk/bin/gcc -O3 -c gethugepagesizes.c gethugepagesizes.c: In function 'open': gethugepagesizes.c:7:1: sorry, unimplemented: inlining failed in call to 'open': redefined extern inline functions are not considered for inlining gethugepagesizes.c:12:6: sorry, unimplemented: called from here