]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
trans-array.c (gfc_conv_ss_startstride): Access array bounds along array dimensions...
authorMikael Morin <mikael@gcc.gnu.org>
Thu, 3 Nov 2011 21:12:33 +0000 (21:12 +0000)
committerMikael Morin <mikael@gcc.gnu.org>
Thu, 3 Nov 2011 21:12:33 +0000 (21:12 +0000)
* trans-array.c (gfc_conv_ss_startstride): Access array bounds along
array dimensions instead of loop dimensions.

From-SVN: r180852

gcc/fortran/ChangeLog
gcc/fortran/trans-array.c

index a13e8ef34279c1c4f526089763ed85e4b25434e8..e9d3f813d32ab4a3960430941bb819adf1ee50b5 100644 (file)
@@ -1,3 +1,8 @@
+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.
+
 2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
 
        * trans-array.c (gfc_trans_preloop_setup): Assertify one condition.
index 8359af2d9b25b8fca23fcf5b87dc731e9d413034..f4d8a8543272727c7768761a3149b0cad6d768db 100644 (file)
@@ -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;