gcc/libgomp/testsuite
Kwok Cheung Yeung 87262627fd openmp: Add support for iterators in 'target update' clauses (C/C++)
This adds support for iterators in 'to' and 'from' clauses in the
'target update' OpenMP directive.

gcc/c/

	* c-parser.cc (c_parser_omp_clause_from_to): Parse 'iterator' modifier.
	* c-typeck.cc (c_finish_omp_clauses): Finish iterators for to/from
	clauses.

gcc/cp/

	* parser.cc (cp_parser_omp_clause_from_to): Parse 'iterator' modifier.
	* semantics.cc (finish_omp_clauses): Finish iterators for to/from
	clauses.

gcc/

	* gimplify.cc (remove_unused_omp_iterator_vars): Display unused
	variable warning for 'to' and 'from' clauses.
	(gimplify_scan_omp_clauses): Add argument for iterator loop sequence.
	Gimplify the clause decl and size into the iterator loop if iterators
	are used.
	(gimplify_omp_workshare): Add argument for iterator loops sequence
	in call to gimplify_scan_omp_clauses.
	(gimplify_omp_target_update): Call remove_unused_omp_iterator_vars and
	build_omp_iterators_loops.  Add loop sequence as argument when calling
	gimplify_scan_omp_clauses, gimplify_adjust_omp_clauses and building
	the Gimple statement.
	* tree-pretty-print.cc (dump_omp_clause): Call dump_omp_iterators
	for to/from clauses with iterators.
	* tree.cc (omp_clause_num_ops): Add extra operand for OMP_CLAUSE_FROM
	and OMP_CLAUSE_TO.
	* tree.h (OMP_CLAUSE_HAS_ITERATORS): Add check for OMP_CLAUSE_TO and
	OMP_CLAUSE_FROM.
	(OMP_CLAUSE_ITERATORS): Likewise.

gcc/testsuite/

	* c-c++-common/gomp/target-update-iterators-1.c: New.
	* c-c++-common/gomp/target-update-iterators-2.c: New.
	* c-c++-common/gomp/target-update-iterators-3.c: New.

libgomp/

	* target.c (gomp_update): Call gomp_merge_iterator_maps.  Free
	allocated variables.
	* testsuite/libgomp.c-c++-common/target-update-iterators-1.c: New.
	* testsuite/libgomp.c-c++-common/target-update-iterators-2.c: New.
	* testsuite/libgomp.c-c++-common/target-update-iterators-3.c: New.
2025-08-06 01:37:10 +01:00
..
config Update copyright years. 2025-01-02 11:59:57 +01:00
lib diagnostics: convert HTML output test plugin to 'experimental-html' sink [PR116792] 2025-05-08 20:41:35 -04:00
libgomp.c gcn: Add experimental MI300 (gfx942) support 2025-06-10 15:12:47 +02:00
libgomp.c++ Adjust 'libgomp.c++/target-cdtor-{1,2}.C' for 'targetm.cxx.use_aeabi_atexit' [PR119853, PR119854] 2025-07-21 08:49:32 +02:00
libgomp.c-c++-common openmp: Add support for iterators in 'target update' clauses (C/C++) 2025-08-06 01:37:10 +01:00
libgomp.c-target/aarch64 libgomp: Update SVE test 2025-05-06 11:41:18 +05:30
libgomp.fortran libgomp: Add OpenMP's omp_target_memset/omp_target_memset_async 2025-06-02 17:43:57 +02:00
libgomp.graphite Update copyright years. 2025-01-02 11:59:57 +01:00
libgomp.oacc-c libgomp testsuite: Have each '*.exp' file specify the compiler to use [PR91884] 2023-05-15 12:11:17 +02:00
libgomp.oacc-c++ GCN, nvptx offloading: Restrain 'WARNING: program timed out.' while in 'dynamic_cast' only for effective-target 'offload_device' [PR119692] 2025-07-17 14:53:41 +02:00
libgomp.oacc-c-c++-common Defuse 'RESULT_DECL' check in 'pass_nrv' (for offloading compilation) [PR119835] 2025-05-30 14:47:40 +02:00
libgomp.oacc-fortran Fortran/OpenACC: Add Fortran support for acc_attach/acc_detach 2025-06-24 23:46:53 +02:00
Makefile.am Support parallel testing in libgomp, part II [PR66005] 2023-05-15 12:11:18 +02:00
Makefile.in libgomp: Consider '--with-build-sysroot=[...]' for target libraries' build-tree testing (instead of build-time 'CC' etc.) [PR91884, PR109951] 2023-09-12 11:30:37 +02:00
flock Support parallel testing in libgomp: fallback Perl 'flock' [PR66005] 2023-06-02 09:51:15 +02:00
libgomp-site-extra.exp.in libgomp: Consider '--with-build-sysroot=[...]' for target libraries' build-tree testing (instead of build-time 'CC' etc.) [PR91884, PR109951] 2023-09-12 11:30:37 +02:00
libgomp-test-support.exp.in libgomp nvptx plugin: Remove '--with-cuda-driver=[...]' etc. configuration option 2022-06-10 17:08:57 +02:00