https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111437
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|WAITING |RESOLVED Resolution|--- |INVALID --- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> --- One definition has: __attribute__((hot)) __attribute__((always_inline)) pawd pawmsg_SIGKILL( pawexe pid ) { return pawtrigger( # 127 "/mnt/CODE/gitlab/dragonbuilder/include/paw/pawint/../pawmsg.h" 3 4 ((void *)0) # 127 "/mnt/CODE/gitlab/dragonbuilder/include/paw/pawint/../pawmsg.h" , PAWMSGID_KILL_NOW, PAWMSG_CLSID_APP, 0, pid ); } Yes without inline the always_inline might be not be inlinable ... The preprocessed source is full of issues; redefinitions: /mnt/CODE/gitlab/dragonbuilder/src/libpaw/pawaio.c:50:28: error: redefinition of ‘pawabspath_putroot’ In file included from /mnt/CODE/gitlab/dragonbuilder/src/libpaw/libpaw.h:19, from /mnt/CODE/gitlab/dragonbuilder/src/libpaw/pawaio.c:1: /mnt/CODE/gitlab/dragonbuilder/include/paw/pawaio.h:554:28: note: previous definition of ‘pawabspath_putroot’ with type ‘pawjd(pawmbcd *, pawmbctxt, pawmbctxt)’ {aka ‘long int(pawmbcd *, pawmbc_txt, pawmbc_txt)’} etc. But the pattern for the "might not be inlinable" is all the same as what I mentioned first. There is only always_inline without an inline ...