]> git.ipfire.org Git - thirdparty/gcc.git/commit
OpenMP/Fortran: Add support for OpenMP 5.2 linear clause syntax
authorTobias Burnus <tobias@codesourcery.com>
Mon, 4 Jul 2022 19:50:23 +0000 (21:50 +0200)
committerTobias Burnus <tobias@codesourcery.com>
Mon, 4 Jul 2022 19:50:23 +0000 (21:50 +0200)
commitc3297044f0055880dd23ffbf641aa3a5860197e1
tree528d5fb4cc80e005f3eb7ac7c9f06f394fc94bb5
parentce8dbe7d834b9264d7a5cd74d3ce6c750d28b3af
OpenMP/Fortran: Add support for OpenMP 5.2 linear clause syntax

Fortran part to C/C++
commit r13-1002-g03b71406323ddc065b1d7837d8b43b17e4b048b5

gcc/fortran/ChangeLog:

* gfortran.h (gfc_omp_namelist): Update by creating 'linear' struct,
move 'linear_op' as 'op' to id and add 'old_modifier' to it.
* dump-parse-tree.cc (show_omp_namelist): Update accordingly.
* module.cc (mio_omp_declare_simd): Likewise.
* trans-openmp.cc (gfc_trans_omp_clauses): Likewise.
* openmp.cc (resolve_omp_clauses): Likewise; accept new-style
'val' modifier with do/simd.
(gfc_match_omp_clauses): Handle OpenMP 5.2 linear clause syntax.

libgomp/ChangeLog:

* libgomp.texi (OpenMP 5.2): Mark linear-clause change as 'Y'.

gcc/testsuite/ChangeLog:

* c-c++-common/gomp/linear-4.c: New test.
* gfortran.dg/gomp/linear-2.f90: New test.
* gfortran.dg/gomp/linear-3.f90: New test.
* gfortran.dg/gomp/linear-4.f90: New test.
* gfortran.dg/gomp/linear-5.f90: New test.
* gfortran.dg/gomp/linear-6.f90: New test.
* gfortran.dg/gomp/linear-7.f90: New test.
* gfortran.dg/gomp/linear-8.f90: New test.

Co-authored-by: Jakub Jelinek <jakub@redhat.com>
14 files changed:
gcc/fortran/dump-parse-tree.cc
gcc/fortran/gfortran.h
gcc/fortran/module.cc
gcc/fortran/openmp.cc
gcc/fortran/trans-openmp.cc
gcc/testsuite/c-c++-common/gomp/linear-4.c [new file with mode: 0644]
gcc/testsuite/gfortran.dg/gomp/linear-2.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/gomp/linear-3.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/gomp/linear-4.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/gomp/linear-5.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/gomp/linear-6.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/gomp/linear-7.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/gomp/linear-8.f90 [new file with mode: 0644]
libgomp/libgomp.texi