OSDN Git Service

* trans-array.c (dim_ok, transposed_dims): Rename the former to the
authormikael <mikael@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 3 Nov 2011 21:35:35 +0000 (21:35 +0000)
committermikael <mikael@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 3 Nov 2011 21:35:35 +0000 (21:35 +0000)
latter.  Change argument type.  Invert return value.
(gfc_conv_expr_descriptor): Update calls.

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

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

index 7bf3894..72cd872 100644 (file)
@@ -1,5 +1,11 @@
 2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
 
+       * trans-array.c (dim_ok, transposed_dims): Rename the former to the
+       latter.  Change argument type.  Invert return value.
+       (gfc_conv_expr_descriptor): Update calls.
+
+2011-11-03  Mikael Morin  <mikael@gcc.gnu.org>
+
        * trans-array.c (get_array_ref_dim): Change argument type and name.
        Obtain previous argument from the new argument in the body.
        (gfc_trans_create_temp_arry, gfc_conv_loop_setup): Update calls.
index eeed8bb..dc4dccd 100644 (file)
@@ -5659,13 +5659,16 @@ get_array_charlen (gfc_expr *expr, gfc_se *se)
 
 /* Helper function to check dimensions.  */
 static bool
-dim_ok (gfc_ss_info *info)
+transposed_dims (gfc_ss *ss)
 {
+  gfc_ss_info *info;
   int n;
+
+  info = &ss->data.info;
   for (n = 0; n < info->dimen; n++)
     if (info->dim[n] != n)
-      return false;
-  return true;
+      return true;
+  return false;
 }
 
 /* Convert an array for passing as an actual argument.  Expressions and
@@ -5752,7 +5755,7 @@ gfc_conv_expr_descriptor (gfc_se * se, gfc_expr * expr, gfc_ss * ss)
       else
        full = gfc_full_array_ref_p (info->ref, NULL);
 
-      if (full && dim_ok (info))
+      if (full && !transposed_dims (ss))
        {
          if (se->direct_byref && !se->byref_noassign)
            {
@@ -5949,7 +5952,7 @@ gfc_conv_expr_descriptor (gfc_se * se, gfc_expr * expr, gfc_ss * ss)
 
       desc = loop.temp_ss->data.info.descriptor;
     }
-  else if (expr->expr_type == EXPR_FUNCTION && dim_ok (info))
+  else if (expr->expr_type == EXPR_FUNCTION && !transposed_dims (ss))
     {
       desc = info->descriptor;
       se->string_length = ss->string_length;