OSDN Git Service

PR fortran/50420
authormikael <mikael@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 18 Oct 2011 14:45:46 +0000 (14:45 +0000)
committermikael <mikael@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 18 Oct 2011 14:45:46 +0000 (14:45 +0000)
* trans-array.c (gfc_conv_expr_descriptor): Use loop.dimen instead of
ndim for the descriptor's rank.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180143 138bc75d-0d04-0410-961f-82ee72b054a4

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

index 06a65a4..1cea460 100644 (file)
@@ -1,6 +1,12 @@
 2011-10-18  Mikael Morin  <mikael@gcc.gnu.org>
 
        PR fortran/50420
+       * trans-array.c (gfc_conv_expr_descriptor): Use loop.dimen instead of
+       ndim for the descriptor's rank.
+
+2011-10-18  Mikael Morin  <mikael@gcc.gnu.org>
+
+       PR fortran/50420
        * trans-array.c (gfc_conv_expr_descriptor): Count codimensions starting
        from zero, and add then the relevant offset (either ndim or loop.dimen)
        depending on context.
index 0da1720..06a81f1 100644 (file)
@@ -6150,13 +6150,13 @@ gfc_conv_expr_descriptor (gfc_se * se, gfc_expr * expr, gfc_ss * ss)
                                          gfc_rank_cst[dim], stride);
        }
 
-      for (n = ndim; n < ndim + codim; n++)
+      for (n = loop.dimen; n < loop.dimen + codim; n++)
        {
          from = loop.from[n];
          to = loop.to[n];
          gfc_conv_descriptor_lbound_set (&loop.pre, parm,
                                          gfc_rank_cst[n], from);
-         if (n < ndim + codim - 1)
+         if (n < loop.dimen + codim - 1)
            gfc_conv_descriptor_ubound_set (&loop.pre, parm,
                                            gfc_rank_cst[n], to);
        }