===================================================================
@@ -338,6 +338,9 @@ gfc_resolve_array_spec (gfc_array_spec *as, int ch
if (as == NULL)
return true;
+ if (as->resolved)
+ return true;
+
for (i = 0; i < as->rank + as->corank; i++)
{
e = as->lower[i];
@@ -364,6 +367,8 @@ gfc_resolve_array_spec (gfc_array_spec *as, int ch
}
}
+ as->resolved = true;
+
return true;
}
===================================================================
@@ -1002,6 +1002,8 @@ typedef struct
bool cp_was_assumed; /* AS_ASSUMED_SIZE cp arrays are converted to
AS_EXPLICIT, but we want to remember that we
did this. */
+
+ bool resolved;
}
gfc_array_spec;