diff options
Diffstat (limited to 'gcc/fortran/simplify.c')
-rw-r--r-- | gcc/fortran/simplify.c | 12 |
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) |