aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/array.c
diff options
context:
space:
mode:
authorTobias Burnus <burnus@gcc.gnu.org>2020-01-09 14:43:59 +0100
committerTobias Burnus <burnus@gcc.gnu.org>2020-01-09 14:43:59 +0100
commit15df0040707d630b78f4dd34dd4f435026dea56c (patch)
treeac84f2732ffbf2a774089e9d524a2d23a6f8ca4d /gcc/fortran/array.c
parentd574c8aafea40bd8759cb09031ff0dc6c250d8cf (diff)
downloadgcc-15df0040707d630b78f4dd34dd4f435026dea56c.zip
gcc-15df0040707d630b78f4dd34dd4f435026dea56c.tar.gz
gcc-15df0040707d630b78f4dd34dd4f435026dea56c.tar.bz2
Fortran] PR84135 fix merging dimension into codimension array spec
PR fortran/84135 * array.c (gfc_set_array_spec): Fix shifting of codimensions when adding a dimension. * decl.c (merge_array_spec): Ditto. Fix using correct codimensions. PR fortran/84135 * gfortran.dg/coarray/codimension_3.f90: New. From-SVN: r280046
Diffstat (limited to 'gcc/fortran/array.c')
-rw-r--r--gcc/fortran/array.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/fortran/array.c b/gcc/fortran/array.c
index e5b4ad7..157acb8 100644
--- a/gcc/fortran/array.c
+++ b/gcc/fortran/array.c
@@ -887,7 +887,7 @@ gfc_set_array_spec (gfc_symbol *sym, gfc_array_spec *as, locus *error_loc)
if (sym->as->rank + sym->as->corank > GFC_MAX_DIMENSIONS)
goto too_many;
- for (i = 0; i < sym->as->corank; i++)
+ for (i = sym->as->corank - 1; i >= 0; i--)
{
sym->as->lower[as->rank + i] = sym->as->lower[i];
sym->as->upper[as->rank + i] = sym->as->upper[i];