From e565e49fb22cb466dc8af0dc09a061b30806cc04 Mon Sep 17 00:00:00 2001 From: Tobias Burnus Date: Fri, 20 Dec 2019 11:22:52 +0000 Subject: Improve is-coindexed check for OpenACC/OpenMP gcc/fortran/ * openmp.c (resolve_omp_clauses): Move is-coindexed check from here ... (gfc_match_omp_variable_list): ... to here. gcc/testsuite/ * gfortran.dg/goacc/coindexed-1.f90: New. From-SVN: r279637 --- gcc/fortran/openmp.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'gcc/fortran/openmp.c') diff --git a/gcc/fortran/openmp.c b/gcc/fortran/openmp.c index 051b4bd..01964f9 100644 --- a/gcc/fortran/openmp.c +++ b/gcc/fortran/openmp.c @@ -274,6 +274,11 @@ gfc_match_omp_variable_list (const char *str, gfc_omp_namelist **list, default: break; } + if (gfc_is_coindexed (expr)) + { + gfc_error ("List item shall not be coindexed at %C"); + goto cleanup; + } } gfc_set_sym_referenced (sym); p = gfc_get_omp_namelist (); @@ -4544,9 +4549,6 @@ resolve_omp_clauses (gfc_code *code, gfc_omp_clauses *omp_clauses, gfc_error ("%qs in %s clause at %L is not a proper " "array section", n->sym->name, name, &n->where); - else if (gfc_is_coindexed (n->expr)) - gfc_error ("Entry shall not be coindexed in %s " - "clause at %L", name, &n->where); else { int i; -- cgit v1.1