From ae9054ba251198376f04e4848117bac83352b996 Mon Sep 17 00:00:00 2001 From: Mikael Morin 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. * trans-array.c (gfc_conv_ss_startstride): Access array bounds along array dimensions instead of loop dimensions. From-SVN: r180852 --- 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 a13e8ef34279..e9d3f813d32a 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,8 @@ +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. diff --git a/gcc/fortran/trans-array.c b/gcc/fortran/trans-array.c index 8359af2d9b25..f4d8a8543272 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.47.2