diff options
author | Tobias Burnus <tobias@codesourcery.com> | 2023-07-24 22:57:07 +0200 |
---|---|---|
committer | Tobias Burnus <tobias@codesourcery.com> | 2023-07-24 22:57:07 +0200 |
commit | 2e31fe431b08b0302e1fa8a1c18ee51adafd41df (patch) | |
tree | 3d4f7fdbd47af7aa8ae4cc3c0f5b1912030c64de /gcc/cp | |
parent | 31c3b67dfc6e67773d13260bc38b833663698b74 (diff) | |
download | gcc-2e31fe431b08b0302e1fa8a1c18ee51adafd41df.zip gcc-2e31fe431b08b0302e1fa8a1c18ee51adafd41df.tar.gz gcc-2e31fe431b08b0302e1fa8a1c18ee51adafd41df.tar.bz2 |
OpenMP/Fortran: Reject not strictly nested target -> teams [PR110725, PR71065]
OpenMP requires: "If a teams region is nested inside a target region, the
corresponding target construct must not contain any statements, declarations
or directives outside of the corresponding teams construct."
This commit checks now for this restriction.
PR fortran/110725
PR middle-end/71065
gcc/fortran/ChangeLog:
* gfortran.h (gfc_omp_clauses): Add contains_teams_construct.
* openmp.cc (resolve_omp_target): New; check for teams nesting.
(gfc_resolve_omp_directive): Call it.
* parse.cc (decode_omp_directive): Set contains_teams_construct
on enclosing ST_OMP_TARGET.
gcc/testsuite/ChangeLog:
* gfortran.dg/gomp/pr99226.f90: Update dg-error.
* gfortran.dg/gomp/teams-5.f90: New test.
Diffstat (limited to 'gcc/cp')
0 files changed, 0 insertions, 0 deletions