https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89937
--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Jonathan Wakely from comment #3) > (In reply to Walt Karas from comment #2) > > Hmmm it seems you are saying that inline (or weak linkage by any other name) > > in C++ somehow prohibits inlining. > > I think in this instance, the inlining heuristics have decided not to inline > it, because it's an extern function. Possibly to prevent increasing the > binary size too much, but that's just a guess. Actually the inlining heuristics is not in play here at all. GCC does not know how to inline variable argument functions where they are actually used :).