aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/primary.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/fortran/primary.cc')
-rw-r--r--gcc/fortran/primary.cc10
1 files changed, 8 insertions, 2 deletions
diff --git a/gcc/fortran/primary.cc b/gcc/fortran/primary.cc
index 76f6bcb..fb00c08 100644
--- a/gcc/fortran/primary.cc
+++ b/gcc/fortran/primary.cc
@@ -3895,9 +3895,15 @@ gfc_match_rvalue (gfc_expr **result)
if (sym->ts.type == BT_CLASS && sym->attr.class_ok
&& CLASS_DATA (sym)->as)
- e->rank = CLASS_DATA (sym)->as->rank;
+ {
+ e->rank = CLASS_DATA (sym)->as->rank;
+ e->corank = CLASS_DATA (sym)->as->corank;
+ }
else if (sym->as != NULL)
- e->rank = sym->as->rank;
+ {
+ e->rank = sym->as->rank;
+ e->corank = sym->as->corank;
+ }
if (!sym->attr.function
&& !gfc_add_function (&sym->attr, sym->name, NULL))