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);
}