On Tue, Sep 08, 2020 at 12:22:57PM +0200, Tobias Burnus wrote:
> gcc/fortran/ChangeLog:
>
> PR fortran/95109
> PR fortran/94690
> * resolve.c (gfc_resolve_code): Also call
> gfc_resolve_omp_parallel_blocks for 'distribute parallel do (simd)'.
> * openmp.c (gfc_resolve_omp_parallel_blocks): Handle it.
> (gfc_resolve_do_iterator): Remove special code for SIMD, which is
> not needed.
> * trans-openmp.c (gfc_trans_omp_target): For TARGET_PARALLEL_DO_SIMD,
> call simd not do processing function.
>
> gcc/testsuite/ChangeLog:
>
> PR fortran/95109
> PR fortran/94690
> * gfortran.dg/gomp/combined-if.f90: Update scan-tree-dump-times for
> 'omp simd.*if'.
> * gfortran.dg/gomp/openmp-simd-5.f90: New test.
LGTM, thanks.
Note for OpenMP 5.0 we'll need also
EXEC_OMP_{,PARALLEL_}MASTER_TASKLOOP{,_SIMD},
EXEC_OMP_PARALLEL_{LOOP,MASTER}
EXEC_OMP_TARGET_{PARALLEL,TEAMS}_LOOP
EXEC_OMP_TEAMS_LOOP
handling for the combined constructs in these.
Jakub