https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125393
--- Comment #4 from Harald Anlauf <anlauf at gcc dot gnu.org> ---
Untested fix:
diff --git a/gcc/fortran/interface.cc b/gcc/fortran/interface.cc
index 8ab2fade283..ae9ed91d1f8 100644
--- a/gcc/fortran/interface.cc
+++ b/gcc/fortran/interface.cc
@@ -3216,6 +3216,7 @@ get_expr_storage_size (gfc_expr *e, bool *size_known)
&& e->expr_type == EXPR_VARIABLE)
{
if (ref->u.ar.as->type == AS_ASSUMED_SHAPE
+ || ref->u.ar.as->type == AS_EXPLICIT
|| e->symtree->n.sym->attr.pointer)
{
elements = 1;