On Mon, Sep 05, 2022 at 03:01:07PM +0200, Tobias Burnus wrote:
> On 03.09.22 10:07, Jakub Jelinek wrote:
> > The following patch implements part of the OpenMP 5.2 changes related
> > to ordered loops ...
> 
> Fortran bits to it attached.
> 
> OK for mainline?
> 
> 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

> Fortran/openmp: Partial OpenMP 5.2 doacross and omp_cur_iteration support
> 
> Add the Fortran support to the ME/C/C++ commit
> r13-2388-ga651e6d59188da8992f8bfae2df1cb4e6316f9e6
> 
> gcc/fortran/ChangeLog:
> 
>       * dump-parse-tree.cc (show_omp_namelist, show_omp_clauses): Handle
>       omp_cur_iteration and distinguish doacross/depend:

s/:/./

>       * gfortran.h (enum gfc_omp_depend_doacross_op): Renamed from
>       gfc_omp_depend_op.
>       (enum gfc_omp_depend_doacross_op): Add OMP_DOACROSS_SINK_FIRST,
>       Rename OMP_DEPEND_SINK to OMP_DOACROSS_SINK.
>       (gfc_omp_namelist) Handle renaming, rename depend_op to
>       depend_doacross_op.
>       (struct gfc_omp_clauses): Add doacross_source.
>       * openmp.cc (gfc_match_omp_depend_sink): Renamed to ...
>       (gfc_match_omp_doacross_sink): ... this; handle omp_all_memory.
>       (enum omp_mask2): Add OMP_CLAUSE_DOACROSS.
>       (gfc_match_omp_clauses): Handle 'doacross' and syntax changes to
>       depend.
>       (gfc_match_omp_depobj): Simplify as sink/source are now impossible.
>       (gfc_match_omp_ordered_depend): Request OMP_CLAUSE_DOACROSS.
>       (resolve_omp_clauses): Update sink/source checks.
>       (gfc_resolve_omp_directive): Resolve EXEC_OMP_ORDERED clauses.
>       * parse.cc (decode_omp_directive): Handle 'ordered doacross'.
>       * trans-openmp.cc (gfc_trans_omp_clauses): Handle doacross.
>       (gfc_trans_omp_do): Fix OMP_FOR_ORIG_DECLS handling if 'ordered'
>       clause is present.
>       (gfc_trans_omp_depobj): Update for member name change.
> 
> libgomp/ChangeLog:
> 
>       * libgomp.texi (OpenMP 5.2): Update doacross/omp_cur_iteration status.
> 
> gcc/testsuite/ChangeLog:
> 
>       * gfortran.dg/gomp/all-memory-1.f90: Update dg-error.
>       * gfortran.dg/gomp/depend-iterator-2.f90: Likewise.
>       * gfortran.dg/gomp/depobj-2.f90: Likewise.
>       * gfortran.dg/gomp/doacross-5.f90: New test.
>       * gfortran.dg/gomp/doacross-6.f90: New test.

Otherwise LGTM.

        Jakub

Reply via email to