https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112601
--- Comment #3 from Sergei Trofimovich <slyfox at gcc dot gnu.org> --- Slightly shorter reproducer: static void printChar(int &, char) {} int emit_OS; char emit___trans_tmp_1; static void emit(void Print(int &, char)) { Print(emit_OS, emit___trans_tmp_1); } struct SequenceToOffsetTable { __attribute__((noinline)) static void emitStringLiteralDef() { emit(printChar); } }; void run() { SequenceToOffsetTable::emitStringLiteralDef(); }