aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/simplify.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/fortran/simplify.c')
-rw-r--r--gcc/fortran/simplify.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/gcc/fortran/simplify.c b/gcc/fortran/simplify.c
index fdaf3cb..90477e5 100644
--- a/gcc/fortran/simplify.c
+++ b/gcc/fortran/simplify.c
@@ -6289,6 +6289,18 @@ do_xor (gfc_expr *result, gfc_expr *e)
}
+gfc_expr *
+gfc_simplify_is_contiguous (gfc_expr *array)
+{
+ if (gfc_is_simply_contiguous (array, false, true))
+ return gfc_get_logical_expr (gfc_default_logical_kind, &array->where, 1);
+
+ if (gfc_is_not_contiguous (array))
+ return gfc_get_logical_expr (gfc_default_logical_kind, &array->where, 0);
+
+ return NULL;
+}
+
gfc_expr *
gfc_simplify_parity (gfc_expr *e, gfc_expr *dim)