https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107995
kargl at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Priority|P3 |P4 Ever confirmed|0 |1 Last reconfirmed| |2022-12-10 CC| |kargl at gcc dot gnu.org --- Comment #1 from kargl at gcc dot gnu.org --- This patch prevents the ICE. It has been regression tested, and not regression occurred. AFAICT, a statement function cannot be a dummy argument. diff --git a/gcc/fortran/interface.cc b/gcc/fortran/interface.cc index d3e199535b3..8f9eabf0f1c 100644 --- a/gcc/fortran/interface.cc +++ b/gcc/fortran/interface.cc @@ -1334,6 +1334,9 @@ gfc_check_dummy_characteristics (gfc_symbol *s1, gfc_symbol *s2, if (s1 == NULL || s2 == NULL) return s1 == s2 ? true : false; + if (s1->attr.proc == PROC_ST_FUNCTION || s2->attr.proc == PROC_ST_FUNCTION) + return false; + /* Check type and rank. */ if (type_must_agree) {