From 39ee9fa924979a477abc1999d062de24aab73583 Mon Sep 17 00:00:00 2001 From: mikael Date: Thu, 3 Nov 2011 21:14:19 +0000 Subject: [PATCH] * trans-array.c (gfc_conv_loop_setup): Also skip temporary arrays. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180853 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/fortran/ChangeLog | 4 ++++ gcc/fortran/trans-array.c | 7 ++++++- 2 files changed, 10 insertions(+), 1 deletion(-) 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 + * trans-array.c (gfc_conv_loop_setup): Also skip temporary arrays. + +2011-11-03 Mikael Morin + * 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; -- 2.7.4