diff options
author | Tobias Burnus <tobias@codesourcery.com> | 2021-02-16 17:39:49 +0100 |
---|---|---|
committer | Tobias Burnus <tobias@codesourcery.com> | 2021-02-16 17:39:49 +0100 |
commit | 799478b8914c438f7a33eb319efbae69c81f2111 (patch) | |
tree | 4a6c9bceb761178477d37e7429587d4af16528f8 /gcc/fortran/expr.c | |
parent | 72d78655a91bb2f89ac4432cfd6374380d6f9987 (diff) | |
download | gcc-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.c | 2 |
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; } |