aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/trans-array.c
diff options
context:
space:
mode:
authorMikael Morin <mikael@gcc.gnu.org>2011-11-03 21:35:35 +0000
committerMikael Morin <mikael@gcc.gnu.org>2011-11-03 21:35:35 +0000
commita7fb208d57c48b3e84ee2e1eaceda43c5ce40de6 (patch)
tree1b6aded5d870f31602cafd539ab5386b22754523 /gcc/fortran/trans-array.c
parent820d5e68fb9ef5324e809f397688c4a125790b1a (diff)
downloadgcc-a7fb208d57c48b3e84ee2e1eaceda43c5ce40de6.zip
gcc-a7fb208d57c48b3e84ee2e1eaceda43c5ce40de6.tar.gz
gcc-a7fb208d57c48b3e84ee2e1eaceda43c5ce40de6.tar.bz2
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
Diffstat (limited to 'gcc/fortran/trans-array.c')
-rw-r--r--gcc/fortran/trans-array.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/gcc/fortran/trans-array.c b/gcc/fortran/trans-array.c
index eeed8bb..dc4dccd 100644
--- a/gcc/fortran/trans-array.c
+++ b/gcc/fortran/trans-array.c
@@ -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;