https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121389
--- Comment #11 from Carlos Galvez <carlosgalvezp at gmail dot com> --- > Again I'll mention my rant that using heavily musttail attributes #ifndef > __OPTIMIZE__ doesn't make much sense unless it is really required for the > program not running out of stack. In the protobuf case with hundreds of > musttail call attributes in each TU I strongly doubt about that. I'm simply a user of protobuf so I don't really have any opinion on the matter nor deep knowledge as to what the "best" solution is, I'm just reporting my findings in case there's anything you guys think is worth fixing on the GCC side. A solution checking the __OPTIMIZE__ macro as you propose sounds reasonable to me, perhaps you'd like to bring it up for discussion in the related Github ticket on the protobuf repo (I see you've been involved already)?