aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/expr.c
diff options
context:
space:
mode:
authorTobias Burnus <tobias@codesourcery.com>2021-02-16 17:39:49 +0100
committerTobias Burnus <tobias@codesourcery.com>2021-02-16 17:39:49 +0100
commit799478b8914c438f7a33eb319efbae69c81f2111 (patch)
tree4a6c9bceb761178477d37e7429587d4af16528f8 /gcc/fortran/expr.c
parent72d78655a91bb2f89ac4432cfd6374380d6f9987 (diff)
downloadgcc-799478b8914c438f7a33eb319efbae69c81f2111.zip
gcc-799478b8914c438f7a33eb319efbae69c81f2111.tar.gz
gcc-799478b8914c438f7a33eb319efbae69c81f2111.tar.bz2
Fortran: %re/%im fixes for OpenMP/OpenACC + gfc_is_simplify_contiguous
gcc/fortran/ChangeLog: * expr.c (gfc_is_simplify_contiguous): Handle REF_INQUIRY, i.e. %im and %re which are EXPR_VARIABLE. * openmp.c (resolve_omp_clauses): Diagnose %re/%im explicitly. gcc/testsuite/ChangeLog: * gfortran.dg/goacc/ref_inquiry.f90: New test. * gfortran.dg/gomp/ref_inquiry.f90: New test.
Diffstat (limited to 'gcc/fortran/expr.c')
-rw-r--r--gcc/fortran/expr.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/fortran/expr.c b/gcc/fortran/expr.c
index 4f456fc..92a6700 100644
--- a/gcc/fortran/expr.c
+++ b/gcc/fortran/expr.c
@@ -5854,6 +5854,8 @@ gfc_is_simply_contiguous (gfc_expr *expr, bool strict, bool permit_element)
part_ref = ref;
else if (ref->type == REF_SUBSTRING)
return false;
+ else if (ref->type == REF_INQUIRY)
+ return false;
else if (ref->u.ar.type != AR_ELEMENT)
ar = &ref->u.ar;
}