gcc/libgomp/testsuite/libgomp.fortran
Tobias Burnus 53d5b59cb3 Fortran/OpenMP: Add support for OpenMP 5.1 masked construct
Commit r12-2891-gd0befed793b94f3f407be44e6f69f81a02f5f073 added C/C++
support for the masked construct. This patch extends it to
Fortran.

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.
2021-08-16 09:26:26 +02:00
..
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00
2019-10-30 12:44:54 +01:00