https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71761
--- Comment #5 from Marc Glisse <glisse at gcc dot gnu.org> --- The case "struct token { int i; };" was fixed in gcc-7. > <retval> = f (); [return slot optimization] [tail call] That's all you should see at this point, it is later that it gives up.