On 06.09.22 09:49, Jakub Jelinek wrote:
On Tue, Sep 06, 2022 at 07:54:05AM +0800, haochen.jiang via Gcc-patches wrote:
     Fortran/openmp: Partial OpenMP 5.2 doacross and omp_cur_iteration support
caused
FAIL: gfortran.dg/gomp/doacross-5.f90   -O   (test for errors, line 28)
Seems this is still being diagnosed in the FE when it should be deferred to
the middle-end now (only when we find out if it is doacross or not).

I concur – and at some point during patch writing, I had this snippeted
removed (given that the testcase required it) – but for some reasons, it
got mangled in again. I have now removed it again/in GCC mainline –
after successful regtesting.

Committed as r13-2491-gd6582c662ca0da05c74fa3183e1bc2cadcb21424

Tobias
-----------------
Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 
München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas 
Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht 
München, HRB 106955
commit d6582c662ca0da05c74fa3183e1bc2cadcb21424
Author: Tobias Burnus <tob...@codesourcery.com>
Date:   Tue Sep 6 10:02:13 2022 +0200

    Fix Fortran/openmp: Partial OpenMP 5.2 doacross
    
    This removed a checking snippet which accidentally was left in in commit
    r13-2446-g938cda536019cd6a1bc0dd2346381185b420bbf8 ; this caused
    fails in gfortran.dg/gomp/doacross-5.f90 (added in that very commit).
    Note that a similar but refined check is now done in the middle end.
    (The ME version additionally checks whether doacross is present.)
    
    gcc/fortran/
            * openmp.cc (resolve_omp_clauses): Remove ordered/linear
            check as it is handled now in the middle end.
---
 gcc/fortran/openmp.cc | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/gcc/fortran/openmp.cc b/gcc/fortran/openmp.cc
index 5142fd7c608..457e983663b 100644
--- a/gcc/fortran/openmp.cc
+++ b/gcc/fortran/openmp.cc
@@ -7625,10 +7625,6 @@ resolve_omp_clauses (gfc_code *code, gfc_omp_clauses *omp_clauses,
 			    linear_op = n->u.linear.op;
 			  }
 		      }
-		    else if (omp_clauses->orderedc)
-		      gfc_error ("LINEAR clause specified together with "
-				 "ORDERED clause with argument at %L",
-				 &n->where);
 		    else if (n->u.linear.op != OMP_LINEAR_REF
 			     && n->sym->ts.type != BT_INTEGER)
 		      gfc_error ("LINEAR variable %qs must be INTEGER "

Reply via email to