]> git.ipfire.org Git - thirdparty/gcc.git/commit
OpenMP/Fortran: Permit pure directives inside PURE
authorTobias Burnus <tobias@codesourcery.com>
Thu, 1 Jun 2023 07:51:07 +0000 (09:51 +0200)
committerTobias Burnus <tobias@codesourcery.com>
Thu, 1 Jun 2023 07:51:07 +0000 (09:51 +0200)
commit2df7e45188f32e3c448e004af38d56eb9ab8d959
tree8aa396ed13f28b58ea48fef50ba00d58fbc2e262
parent0b317a60abe7181713ec70c20a0ef12aeb41e703
OpenMP/Fortran: Permit pure directives inside PURE

Update permitted directives for directives marked in OpenMP's 5.2 as pure.
To ensure that list is updated, unimplemented directives are placed into
pure-2.f90 such the test FAILs once a known to be pure directive is
implemented without handling its pureness.

gcc/fortran/ChangeLog:

* parse.cc (decode_omp_directive): Accept all pure directives
inside a PURE procedures; handle 'error at(execution).

libgomp/ChangeLog:

* libgomp.texi (OpenMP 5.2): Mark pure-directive handling as 'Y'.

gcc/testsuite/ChangeLog:

* gfortran.dg/gomp/nothing-2.f90: Remove one dg-error.
* gfortran.dg/gomp/pr79154-2.f90: Update expected dg-error wording.
* gfortran.dg/gomp/pr79154-simd.f90: Likewise.
* gfortran.dg/gomp/pure-1.f90: New test.
* gfortran.dg/gomp/pure-2.f90: New test.
* gfortran.dg/gomp/pure-3.f90: New test.
* gfortran.dg/gomp/pure-4.f90: New test.
gcc/fortran/parse.cc
gcc/testsuite/gfortran.dg/gomp/nothing-2.f90
gcc/testsuite/gfortran.dg/gomp/pr79154-2.f90
gcc/testsuite/gfortran.dg/gomp/pr79154-simd.f90
gcc/testsuite/gfortran.dg/gomp/pure-1.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/gomp/pure-2.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/gomp/pure-3.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/gomp/pure-4.f90 [new file with mode: 0644]
libgomp/libgomp.texi