https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109500

--- Comment #9 from anlauf at gcc dot gnu.org ---
The following patch rejects the code in comment#0 and regtests ok:

diff --git a/gcc/fortran/interface.cc b/gcc/fortran/interface.cc
index e9843e9549c..64a54c06800 100644
--- a/gcc/fortran/interface.cc
+++ b/gcc/fortran/interface.cc
@@ -2195,6 +2214,8 @@ compare_allocatable (gfc_symbol *formal, gfc_expr
*actual)
        return true;
       else if (!attr.allocatable)
        return false;
+      else if (actual->expr_type != EXPR_VARIABLE)
+       return false;
     }

   return true;

Reply via email to