diff options
author | Mikael Morin <mikael@gcc.gnu.org> | 2011-11-03 20:56:19 +0000 |
---|---|---|
committer | Mikael Morin <mikael@gcc.gnu.org> | 2011-11-03 20:56:19 +0000 |
commit | e2b3e6bdd69fb5f5cfe8725d0e3072df819e96b4 (patch) | |
tree | e7d8b437e82cae8d5e2bdb3e3276eb9572b9851f /gcc | |
parent | 4f9a70fa3101a0f44fe1d49af24764b7c540da00 (diff) | |
download | gcc-e2b3e6bdd69fb5f5cfe8725d0e3072df819e96b4.zip gcc-e2b3e6bdd69fb5f5cfe8725d0e3072df819e96b4.tar.gz gcc-e2b3e6bdd69fb5f5cfe8725d0e3072df819e96b4.tar.bz2 |
trans-array.c (gfc_trans_preloop_setup): Use loop's dimension instead of array's dimention.
* trans-array.c (gfc_trans_preloop_setup): Use loop's dimension instead
of array's dimention. Check that it is indeed the same.
From-SVN: r180847
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/fortran/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/fortran/trans-array.c | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 7c36e10..e800836 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,5 +1,10 @@ 2011-11-03 Mikael Morin <mikael@gcc.gnu.org> + * trans-array.c (gfc_trans_preloop_setup): Use loop's dimension instead + of array's dimention. Check that it is indeed the same. + +2011-11-03 Mikael Morin <mikael@gcc.gnu.org> + * trans-array.c (gfc_trans_preloop_setup): Remove redundant assertion. Special case outermost loop. diff --git a/gcc/fortran/trans-array.c b/gcc/fortran/trans-array.c index f5e30ae..476978e 100644 --- a/gcc/fortran/trans-array.c +++ b/gcc/fortran/trans-array.c @@ -2861,13 +2861,14 @@ gfc_trans_preloop_setup (gfc_loopinfo * loop, int dim, int flag, if (dim >= info->dimen) continue; + gcc_assert (info->dimen == loop->dimen); if (info->ref) ar = &info->ref->u.ar; else ar = NULL; - if (dim == info->dimen - 1) + if (dim == loop->dimen - 1) i = 0; else i = dim + 1; @@ -2876,7 +2877,7 @@ gfc_trans_preloop_setup (gfc_loopinfo * loop, int dim, int flag, gcc_assert (i == loop->order[i]); i = loop->order[i]; - if (dim == info->dimen - 1) + if (dim == loop->dimen - 1) { stride = gfc_conv_array_stride (info->descriptor, info->dim[i]); |