https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110825
--- Comment #1 from anlauf at gcc dot gnu.org --- (In reply to kargl from comment #0) > Thus, when compiled and executed the program hits 'STOP 1'. Likely, > gfortran needs to add a possibly unused hidden argument to the argument list > for a TYPE(*) dummy argument. I guess it should be the other way around: if the dummy argument is TPYE(*), we only pass a reference to the actual argument, but no hidden argument, as is the case for bind(c). This is also what the called procedure expects. What if the caller passed a type other than character? So we just need to update the caller (the "monster" gfc_conv_procedure_call). Do you have an idea what would be the use of the hidden argument here anyway? As TYPE(*) is rather new, and I did not find any mentioning of it in the ABI specification, we should clarify what we want and also document it at https://gcc.gnu.org/onlinedocs/gfortran/Argument-passing-conventions.html