On Fri, Aug 13, 2021 at 08:52:34PM +0200, Tobias Burnus wrote: > gcc/fortran/ChangeLog: > > * dump-parse-tree.c (show_omp_clauses): Handle 'filter' clause. > (show_omp_node, show_code_node): Handle (combined) omp masked construct. > * frontend-passes.c (gfc_code_walker): Likewise. > * gfortran.h (enum gfc_statement): Add ST_OMP_*_MASKED*. > (enum gfc_exec_op): Add EXEC_OMP_*_MASKED*. > * match.h (gfc_match_omp_masked, gfc_match_omp_masked_taskloop, > gfc_match_omp_masked_taskloop_simd, gfc_match_omp_parallel_masked, > gfc_match_omp_parallel_masked_taskloop, > gfc_match_omp_parallel_masked_taskloop_simd): New prototypes. > * openmp.c (enum omp_mask1): Add OMP_CLAUSE_FILTER. > (gfc_match_omp_clauses): Match it. > (OMP_MASKED_CLAUSES, gfc_match_omp_parallel_masked, > gfc_match_omp_parallel_masked_taskloop, > gfc_match_omp_parallel_masked_taskloop_simd, > gfc_match_omp_masked, gfc_match_omp_masked_taskloop, > gfc_match_omp_masked_taskloop_simd): New. > (resolve_omp_clauses): Resolve filter clause. > (gfc_resolve_omp_parallel_blocks, resolve_omp_do, > omp_code_to_statement, gfc_resolve_omp_directive): Handle > omp masked constructs. > * parse.c (decode_omp_directive, case_exec_markers, > gfc_ascii_statement, parse_omp_do, parse_omp_structured_block, > parse_executable): Likewise. > * resolve.c (gfc_resolve_blocks, gfc_resolve_code): Likewise. > * st.c (gfc_free_statement): Likewise. > * trans-openmp.c (gfc_trans_omp_clauses): Handle filter clause. > (GFC_OMP_SPLIT_MASKED, GFC_OMP_MASK_MASKED): New enum values. > (gfc_trans_omp_masked): New. > (gfc_split_omp_clauses): Handle combined masked directives. > (gfc_trans_omp_master_taskloop): Rename to ... > (gfc_trans_omp_master_masked_taskloop): ... this; handle also > combined masked directives. > (gfc_trans_omp_parallel_master): Rename to ... > (gfc_trans_omp_parallel_master_masked): ... this; handle > combined masked directives. > (gfc_trans_omp_directive): Handle EXEC_OMP_*_MASKED*. > * trans.c (trans_code): Likewise. > > libgomp/ChangeLog: > > * testsuite/libgomp.fortran/masked-1.f90: New test. > > gcc/testsuite/ChangeLog: > > * gfortran.dg/gomp/masked-1.f90: New test. > * gfortran.dg/gomp/masked-2.f90: New test. > * gfortran.dg/gomp/masked-3.f90: New test. > * gfortran.dg/gomp/masked-combined-1.f90: New test. > * gfortran.dg/gomp/masked-combined-2.f90: New test.
Ok, thanks. Jakub