From a82b2774dadbf0821c50a66599694b2b0ac0a2c8 Mon Sep 17 00:00:00 2001 From: mikael Date: Thu, 3 Nov 2011 21:12:33 +0000 Subject: [PATCH] * trans-array.c (gfc_conv_ss_startstride): Access array bounds along array dimensions instead of loop dimensions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180852 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/fortran/ChangeLog | 5 +++++ gcc/fortran/trans-array.c | 8 +++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index a13e8ef3427..e9d3f813d32 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,5 +1,10 @@ 2011-11-03 Mikael Morin + * trans-array.c (gfc_conv_ss_startstride): Access array bounds along + array dimensions instead of loop dimensions. + +2011-11-03 Mikael Morin + * trans-array.c (gfc_trans_preloop_setup): Assertify one condition. 2011-11-03 Mikael Morin diff --git a/gcc/fortran/trans-array.c b/gcc/fortran/trans-array.c index 8359af2d9b2..f4d8a854327 100644 --- a/gcc/fortran/trans-array.c +++ b/gcc/fortran/trans-array.c @@ -3347,9 +3347,11 @@ done: case GFC_SS_FUNCTION: for (n = 0; n < ss->data.info.dimen; n++) { - ss->data.info.start[n] = gfc_index_zero_node; - ss->data.info.end[n] = gfc_index_zero_node; - ss->data.info.stride[n] = gfc_index_one_node; + int dim = ss->data.info.dim[n]; + + ss->data.info.start[dim] = gfc_index_zero_node; + ss->data.info.end[dim] = gfc_index_zero_node; + ss->data.info.stride[dim] = gfc_index_one_node; } break; -- 2.11.0