https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107074
anlauf at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |anlauf at gcc dot gnu.org --- Comment #3 from anlauf at gcc dot gnu.org --- Potential fix: diff --git a/gcc/fortran/trans-io.cc b/gcc/fortran/trans-io.cc index 9f86815388c..2f1a7be04aa 100644 --- a/gcc/fortran/trans-io.cc +++ b/gcc/fortran/trans-io.cc @@ -2529,6 +2529,17 @@ transfer_expr (gfc_se * se, gfc_typespec * ts, tree addr_expr, } gcc_fallthrough (); default: + if (ts->type == BT_PROCEDURE + && code->expr1 + && code->expr1->symtree + && code->expr1->symtree->n.sym) + { + if (code->expr1->symtree->n.sym->attr.proc_pointer) + gfc_error ("Procedure pointer at %C cannot be an output item"); + else + gfc_error ("Procedure at %C cannot be an output item"); + return; + } gfc_internal_error ("Bad IO basetype (%d)", ts->type); }