diff options
author | Mikael Morin <mikael@gcc.gnu.org> | 2011-11-03 21:14:19 +0000 |
---|---|---|
committer | Mikael Morin <mikael@gcc.gnu.org> | 2011-11-03 21:14:19 +0000 |
commit | 596a95799c085e14dd29274b53d37f2f847cadf1 (patch) | |
tree | 5f838c9ad7d2dbd5d09a3f8b5ca63bc5530fce91 /gcc | |
parent | ae9054ba251198376f04e4848117bac83352b996 (diff) | |
download | gcc-596a95799c085e14dd29274b53d37f2f847cadf1.zip gcc-596a95799c085e14dd29274b53d37f2f847cadf1.tar.gz gcc-596a95799c085e14dd29274b53d37f2f847cadf1.tar.bz2 |
trans-array.c (gfc_conv_loop_setup): Also skip temporary arrays.
* trans-array.c (gfc_conv_loop_setup): Also skip temporary arrays.
From-SVN: r180853
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/fortran/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/fortran/trans-array.c | 7 |
2 files changed, 10 insertions, 1 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index e9d3f81..c0fe2c0 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,5 +1,9 @@ 2011-11-03 Mikael Morin <mikael@gcc.gnu.org> + * trans-array.c (gfc_conv_loop_setup): Also skip temporary arrays. + +2011-11-03 Mikael Morin <mikael@gcc.gnu.org> + * trans-array.c (gfc_conv_ss_startstride): Access array bounds along array dimensions instead of loop dimensions. diff --git a/gcc/fortran/trans-array.c b/gcc/fortran/trans-array.c index f4d8a85..cfbe909 100644 --- a/gcc/fortran/trans-array.c +++ b/gcc/fortran/trans-array.c @@ -3881,7 +3881,12 @@ gfc_conv_loop_setup (gfc_loopinfo * loop, locus * where) loop for this dimension. We try to pick the simplest term. */ for (ss = loop->ss; ss != gfc_ss_terminator; ss = ss->loop_chain) { - if (ss->type == GFC_SS_SCALAR || ss->type == GFC_SS_REFERENCE) + gfc_ss_type ss_type; + + ss_type = ss->type; + if (ss_type == GFC_SS_SCALAR + || ss_type == GFC_SS_TEMP + || ss_type == GFC_SS_REFERENCE) continue; info = &ss->data.info; |