https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85074
--- Comment #2 from John David Anglin <danglin at gcc dot gnu.org> --- We have default TARGET_USE_LOCAL_THUNK_ALIAS_P and TARGET_ASM_CAN_OUTPUT_MI_THUNK is default_can_output_mi_thunk_no_vcall(). if (!this_adjusting || !targetm.asm_out.can_output_mi_thunk (thunk_fndecl, fixed_offset, virtual_value, alias)) { /* If this is a covariant thunk, or we don't have the necessary code for efficient thunks, generate a thunk function that just makes a call to the real function. Unfortunately, this doesn't work for varargs. */ if (varargs_function_p (function)) error ("generic thunk code fails for method %q#D which uses %<...%>", function); }