OSDN Git Service

* trans-array.c (gfc_conv_ss_startstride): Access array bounds along
[pf3gnuchains/gcc-fork.git] / gcc / fortran / trans-array.c
index 5500ec4..f4d8a85 100644 (file)
@@ -2885,8 +2885,7 @@ gfc_trans_preloop_setup (gfc_loopinfo * loop, int dim, int flag,
 
       info = &ss->data.info;
 
-      if (dim >= info->dimen)
-       continue;
+      gcc_assert (dim < info->dimen);
       gcc_assert (info->dimen == loop->dimen);
 
       if (info->ref)
@@ -3348,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;