https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92703
--- Comment #2 from Tobias Burnus <burnus at gcc dot gnu.org> --- Actually, w/o checking the finally generated code, I have the feeling that for *absent* arguments, the wrong code might be generated for: character → dummy argument is ARRAY_TYPE derived type + class → dummy argument is a struct In both cases, null_pointer_node is passed as actual argument. Depending how the argument is put on the stack and where the next argument is placed to, it might work or not. Cf. also PR 92305 which feels related.