Commit a7fb208d by Mikael Morin

trans-array.c (dim_ok, [...]): Rename the former to the latter.

	* 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.

From-SVN: r180862
parent 820d5e68
2011-11-03 Mikael Morin <mikael@gcc.gnu.org> 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. * trans-array.c (get_array_ref_dim): Change argument type and name.
Obtain previous argument from the new argument in the body. Obtain previous argument from the new argument in the body.
(gfc_trans_create_temp_arry, gfc_conv_loop_setup): Update calls. (gfc_trans_create_temp_arry, gfc_conv_loop_setup): Update calls.
......
...@@ -5659,13 +5659,16 @@ get_array_charlen (gfc_expr *expr, gfc_se *se) ...@@ -5659,13 +5659,16 @@ get_array_charlen (gfc_expr *expr, gfc_se *se)
/* Helper function to check dimensions. */ /* Helper function to check dimensions. */
static bool static bool
dim_ok (gfc_ss_info *info) transposed_dims (gfc_ss *ss)
{ {
gfc_ss_info *info;
int n; int n;
info = &ss->data.info;
for (n = 0; n < info->dimen; n++) for (n = 0; n < info->dimen; n++)
if (info->dim[n] != 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 /* 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) ...@@ -5752,7 +5755,7 @@ gfc_conv_expr_descriptor (gfc_se * se, gfc_expr * expr, gfc_ss * ss)
else else
full = gfc_full_array_ref_p (info->ref, NULL); 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) if (se->direct_byref && !se->byref_noassign)
{ {
...@@ -5949,7 +5952,7 @@ gfc_conv_expr_descriptor (gfc_se * se, gfc_expr * expr, gfc_ss * ss) ...@@ -5949,7 +5952,7 @@ gfc_conv_expr_descriptor (gfc_se * se, gfc_expr * expr, gfc_ss * ss)
desc = loop.temp_ss->data.info.descriptor; 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; desc = info->descriptor;
se->string_length = ss->string_length; se->string_length = ss->string_length;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment