http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51757
--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> 2012-01-05 10:42:56 UTC --- Also, if there's no definition, why would it link when -fkeep-inline-functions is used? My guess would be that the call in main doesn't mark the inline function as used, so it is not emitted. For the record, Solaris CC fails in the same way, it links OK with clang++