diff options
author | Mikael Morin <mikael@gcc.gnu.org> | 2012-08-03 16:00:50 +0000 |
---|---|---|
committer | Mikael Morin <mikael@gcc.gnu.org> | 2012-08-03 16:00:50 +0000 |
commit | 8f96b844606a4a9ca9c43c26f1875a8db276ecbb (patch) | |
tree | ceffe7c109c6ef5e814ff6c615d356df62942461 /gcc/fortran | |
parent | 2222df9f3986c6ff5d08052d2dd40d9f1cd43985 (diff) | |
download | gcc-8f96b844606a4a9ca9c43c26f1875a8db276ecbb.zip gcc-8f96b844606a4a9ca9c43c26f1875a8db276ecbb.tar.gz gcc-8f96b844606a4a9ca9c43c26f1875a8db276ecbb.tar.bz2 |
re PR fortran/54166 (ICE rank-1 assignment to rank-2 array section)
fortran/
PR fortran/54166
* trans-array.c (set_loop_bounds): Access specinfo using spec_dim.
testsuite/
PR fortran/54166
* gfortran.dg/array_5.f90: New test.
From-SVN: r190130
Diffstat (limited to 'gcc/fortran')
-rw-r--r-- | gcc/fortran/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/fortran/trans-array.c | 4 |
2 files changed, 7 insertions, 2 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 9044280..fef8aba 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,8 @@ +2012-08-03 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/54166 + * trans-array.c (set_loop_bounds): Access specinfo using spec_dim. + 2012-08-02 Mikael Morin <mikael@gcc.gnu.org> PR fortran/48820 diff --git a/gcc/fortran/trans-array.c b/gcc/fortran/trans-array.c index 187eab0..ef25a36 100644 --- a/gcc/fortran/trans-array.c +++ b/gcc/fortran/trans-array.c @@ -4503,9 +4503,9 @@ set_loop_bounds (gfc_loopinfo *loop) else if (INTEGER_CST_P (info->start[dim]) && !INTEGER_CST_P (specinfo->start[spec_dim]) && integer_onep (info->stride[dim]) - == integer_onep (specinfo->stride[dim]) + == integer_onep (specinfo->stride[spec_dim]) && INTEGER_CST_P (info->stride[dim]) - == INTEGER_CST_P (specinfo->stride[dim])) + == INTEGER_CST_P (specinfo->stride[spec_dim])) loopspec[n] = ss; /* We don't work out the upper bound. else if (INTEGER_CST_P (info->finish[n]) |