https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110725

--- Comment #6 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Tobias Burnus <bur...@gcc.gnu.org>:

https://gcc.gnu.org/g:2e31fe431b08b0302e1fa8a1c18ee51adafd41df

commit r14-2754-g2e31fe431b08b0302e1fa8a1c18ee51adafd41df
Author: Tobias Burnus <tob...@codesourcery.com>
Date:   Mon Jul 24 22:57:07 2023 +0200

    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.

Reply via email to