[gcc/devel/omp/gcc-15] ChangeLog.omp bump

Sandra Loosemore sandra@gcc.gnu.org
Thu May 15 20:40:54 GMT 2025


https://gcc.gnu.org/g:dcdeed6b536390f7de819ad8b25b8acf6700a2a5

commit dcdeed6b536390f7de819ad8b25b8acf6700a2a5
Author: Sandra Loosemore <sloosemore@baylibre.com>
Date:   Thu May 15 20:26:30 2025 +0000

    ChangeLog.omp bump

Diff:
---
 contrib/ChangeLog.omp       |   6 +
 gcc/ChangeLog.omp           | 845 +++++++++++++++++++++++++++++++++++++++++++
 gcc/DATESTAMP.omp           |   1 +
 gcc/c-family/ChangeLog.omp  |  90 +++++
 gcc/c/ChangeLog.omp         | 237 +++++++++++++
 gcc/cp/ChangeLog.omp        | 332 +++++++++++++++++
 gcc/fortran/ChangeLog.omp   | 448 +++++++++++++++++++++++
 gcc/testsuite/ChangeLog.omp | 435 +++++++++++++++++++++++
 include/ChangeLog.omp       |  45 +++
 libgcc/ChangeLog.omp        |  10 +
 libgomp/ChangeLog.omp       | 847 ++++++++++++++++++++++++++++++++++++++++++++
 11 files changed, 3296 insertions(+)

diff --git a/contrib/ChangeLog.omp b/contrib/ChangeLog.omp
new file mode 100644
index 000000000000..024f5baf2eea
--- /dev/null
+++ b/contrib/ChangeLog.omp
@@ -0,0 +1,6 @@
+2025-05-15  Tobias Burnus  <tburnus@baylibre.com>
+
+	* gcc-changelog/git_repository.py (parse_git_revisions): Optional
+	exclude_branch_name argument
+	* gcc-changelog/git_update_version.py: Add --suffix, --exclude-branch
+	and --last-commit to handle vendor branches.
\ No newline at end of file
diff --git a/gcc/ChangeLog.omp b/gcc/ChangeLog.omp
new file mode 100644
index 000000000000..d522b49914cf
--- /dev/null
+++ b/gcc/ChangeLog.omp
@@ -0,0 +1,845 @@
+2025-05-15  Sandra Loosemore  <sloosemore@baylibre.com>
+	    Tobias Burnus  <tburnus@baylibre.com>
+
+	* gimplify.cc (modify_call_for_omp_dispatch): Rework logic for
+	need_device_ptr and need_device_addr adjustments.
+
+2025-05-15  waffl3x  <waffl3x@baylibre.com>
+
+	PR c++/119659
+	PR c++/118859
+	PR c++/119601
+	PR c++/119602
+	PR c++/119775
+	* gimplify.cc (modify_call_for_omp_dispatch): Refactor and change
+	attribute unpacking.  For adjust_args variadic functions, expand
+	numeric ranges with relative bounds.  Refactor argument adjustment.
+
+2025-05-15  Andrew Pinski  <quic_apinski@quicinc.com>
+
+	Backported from master:
+	2025-04-25  Andrew Pinski  <quic_apinski@quicinc.com>
+		    Thomas Schwinge  <tschwinge@baylibre.com>
+
+	PR target/119737
+	* config/gcn/gcn.cc (gcn_hsa_declare_function_name): Properly
+	switch sections.
+
+2025-05-15  Kwok Cheung Yeung  <kcyeung@baylibre.com>
+
+	* langhooks-def.h (lhd_omp_deep_mapping): Add new argument.
+	* langhooks.cc (lhd_omp_deep_mapping): Likewise.
+	* langhooks.h (omp_deep_mapping): Likewise.
+	* omp-low.cc (allocate_omp_iterator_elems): Work on the supplied
+	iterator set instead of the iterators in a supplied set of clauses.
+	(free_omp_iterator_elems): Likewise.
+	(lower_omp_target): Maintain vector of new iterators generated by
+	deep-mapping.  Allocate and free iterator element arrays using
+	iterators found in clauses and in the new iterator vector.
+
+2025-05-15  Kwok Cheung Yeung  <kcyeung@baylibre.com>
+
+	* gimplify.cc (enter_omp_iterator_loop_context): New function variant.
+	(enter_omp_iterator_loop_context): Delegate to new variant.
+	(exit_omp_iterator_loop_context): New function variant.
+	(exit_omp_iterator_loop_context): Delegate to new variant.
+	(assign_to_iterator_elems_array): New.
+	(add_new_omp_iterators_entry): New.
+	(add_new_omp_iterators_clause): Delegate to
+	add_new_omp_iterators_entry.
+	* gimplify.h (enter_omp_iterator_loop_context): New prototype.
+	(enter_omp_iterator_loop_context): Remove default argument.
+	(exit_omp_iterator_loop_context): Remove argument.
+	(assign_to_iterator_elems_array): New prototype.
+	(add_new_omp_iterators_entry): New prototype.
+	(add_new_omp_iterators_clause): New prototype.
+	* langhooks-def.h (lhd_omp_deep_mapping_cnt): Remove const from
+	argument.
+	(lhd_omp_deep_mapping): Likewise.
+	* langhooks.cc (lhd_omp_deep_mapping_cnt): Likewise.
+	(lhd_omp_deep_mapping): Likewise.
+	* langhooks.h (omp_deep_mapping_cnt): Likewise.
+	(omp_deep_mapping): Likewise.
+	* omp-low.cc (lower_omp_map_iterator_expr): Delegate to
+	assign_to_iterator_elems_array.
+	(lower_omp_map_iterator_size): Likewise.
+	(lower_omp_target): Remove sorry for deep mapping.
+
+2025-05-15  Kwok Cheung Yeung  <kcyeung@baylibre.com>
+
+	* gimplify.cc (add_new_omp_iterators_clause): New.
+	(build_omp_struct_comp_nodes): Add extra argument for loops sequence.
+	Call add_new_omp_iterators_clause on newly generated clauses.
+	(omp_accumulate_sibling_list): Add extra argument for loops sequence.
+	Pass to calls to build_omp_struct_comp_nodes.  Add iterators to newly
+	generator clauses for struct accesses.
+	(omp_build_struct_sibling_lists): Add extra argument for loops
+	sequence. Pass to call to omp_accumulate_sibling_list.
+	(gimplify_adjust_omp_clauses): Pass loops sequence to
+	omp_build_struct_sibling_lists.
+
+2025-05-15  Kwok Cheung Yeung  <kcyeung@baylibre.com>
+
+	* gimplify.cc (gimplify_omp_affinity): Use macros for accessing
+	iterator elements.
+	(compute_omp_iterator_count): Likewise.
+	(build_omp_iterator_loop): Likewise.
+	(remove_unused_omp_iterator_vars): Likewise.
+	(build_omp_iterators_loops): Likewise.
+	(enter_omp_iterator_loop_context_1): Likewise.
+	(extract_base_bit_offset): Likewise.
+	* omp-low.cc (lower_omp_map_iterator_expr): Likewise.
+	(lower_omp_map_iterator_size): Likewise.
+	(allocate_omp_iterator_elems): Likewise.
+	(free_omp_iterator_elems): Likewise.
+	* tree-inline.cc (copy_tree_body_r): Likewise.
+	* tree-pretty-print.cc (dump_omp_iterators): Likewise.
+	* tree.h (OMP_ITERATORS_VAR, OMP_ITERATORS_BEGIN, OMP_ITERATORS_END,
+	OMP_ITERATORS_STEP, OMP_ITERATORS_ORIG_STEP, OMP_ITERATORS_BLOCK,
+	OMP_ITERATORS_LABEL, OMP_ITERATORS_INDEX, OMP_ITERATORS_ELEMS,
+	OMP_ITERATORS_COUNT, OMP_ITERATORS_EXPANDED_P): New macros.
+
+2025-05-15  Kwok Cheung Yeung  <kcyeung@baylibre.com>
+
+	* gimplify.cc (omp_iterator_elems_length): New.
+	(build_omp_iterators_loops): Change type of elements
+	array to pointer of pointers if array length is non-constant, and
+	assign size with indirect reference.  Reorder elements added to
+	iterator vector and add element containing the iteration count.  Use
+	omp_iterator_elems_length to compute element array size required.
+	* gimplify.h (omp_iterator_elems_length): New prototype.
+	* omp-low.cc (lower_omp_map_iterator_expr): Reorder elements read
+	from iterator vector.  If elements field is a pointer type, assign
+	using pointer arithmetic followed by indirect reference, and return
+	the field directly.
+	(lower_omp_map_iterator_size): Reorder elements read from iterator
+	vector.  If elements field is a pointer type, assign using pointer
+	arithmetic followed by indirect reference.
+	(allocate_omp_iterator_elems): New.
+	(free_omp_iterator_elems): New.
+	(lower_omp_target): Call allocate_omp_iterator_elems before inserting
+	loops sequence, and call free_omp_iterator_elems afterwards.
+	* tree-pretty-print.cc (dump_omp_iterators): Print extra elements in
+	iterator vector.
+
+2025-05-15  Kwok Cheung Yeung  <kcyeung@baylibre.com>
+	    Andrew Stubbs  <ams@baylibre.com>
+
+	* gimplify.cc (compute_omp_iterator_count): Account for difference
+	in loop boundaries in Fortran.
+	(build_omp_iterator_loop): Change upper boundary condition for
+	Fortran.  Insert block statements into innermost loop.
+	(remove_unused_omp_iterator_vars): Copy block subblocks of old
+	iterator to new iterator and remove original.
+	(contains_vars_1): New.
+	(contains_vars): New.
+	(extract_base_bit_offset): Add iterator argument.  Remove iterator
+	variables from base.  Do not set variable_offset if the offset
+	does not contain any remaining variables.
+	(omp_accumulate_sibling_list): Add iterator argument to
+	extract_base_bit_offset.
+	* tree-pretty-print.cc (dump_block_node): Ignore BLOCK_SUBBLOCKS
+	containing iterator block statements.
+
+2025-05-15  Kwok Cheung Yeung  <kcyeung@baylibre.com>
+
+	* gimplify.cc (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.
+
+2025-05-15  Kwok Cheung Yeung  <kcyeung@baylibre.com>
+	    Andrew Stubbs  <ams@baylibre.com>
+
+	* gimple-pretty-print.cc (dump_gimple_omp_target): Print expanded
+	iterator loops.
+	* gimple.cc (gimple_build_omp_target): Add argument for iterator
+	loops sequence.  Initialize iterator loops field.
+	* gimple.def (GIMPLE_OMP_TARGET): Set GSS symbol to GSS_OMP_TARGET.
+	* gimple.h (gomp_target): Set GSS symbol to GSS_OMP_TARGET.  Add extra
+	field for iterator loops.
+	(gimple_build_omp_target): Add argument for iterator loops sequence.
+	(gimple_omp_target_iterator_loops): New.
+	(gimple_omp_target_iterator_loops_ptr): New.
+	(gimple_omp_target_set_iterator_loops): New.
+	* gimplify.cc (find_var_decl): New.
+	(copy_omp_iterator): New.
+	(remap_omp_iterator_var_1): New.
+	(remap_omp_iterator_var): New.
+	(remove_unused_omp_iterator_vars): New.
+	(struct iterator_loop_info_t): New type.
+	(iterator_loop_info_map_t): New type.
+	(build_omp_iterators_loops): New.
+	(enter_omp_iterator_loop_context_1): New.
+	(enter_omp_iterator_loop_context): New.
+	(enter_omp_iterator_loop_context): New.
+	(exit_omp_iterator_loop_context): New.
+	(gimplify_adjust_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): Call remove_unused_omp_iterator_vars and
+	build_omp_iterators_loops for OpenMP target expressions.  Add
+	loop sequence as argument when calling gimplify_adjust_omp_clauses
+	and building the Gimple statement.
+	* gimplify.h (enter_omp_iterator_loop_context): New prototype.
+	(exit_omp_iterator_loop_context): New prototype.
+	* gsstruct.def (GSS_OMP_TARGET): New.
+	* omp-low.cc (lower_omp_map_iterator_expr): New.
+	(lower_omp_map_iterator_size): New.
+	(finish_omp_map_iterators): New.
+	(lower_omp_target): Add sorry if iterators used with deep mapping.
+	Call lower_omp_map_iterator_expr before assigning to sender ref.
+	Call lower_omp_map_iterator_size before setting the size.  Insert
+	iterator loop sequence before the statements for the target clause.
+	* tree-nested.cc (convert_nonlocal_reference_stmt): Walk the iterator
+	loop sequence of OpenMP target statements.
+	(convert_local_reference_stmt): Likewise.
+	(convert_tramp_reference_stmt): Likewise.
+	* tree-pretty-print.cc (dump_omp_iterators): Dump extra iterator
+	information if present.
+	(dump_omp_clause): Call dump_omp_iterators for iterators in map
+	clauses.
+	* tree.cc (omp_clause_num_ops): Add operand for OMP_CLAUSE_MAP.
+	(walk_tree_1): Do not walk last operand of OMP_CLAUSE_MAP.
+	* tree.h (OMP_CLAUSE_HAS_ITERATORS): New.
+	(OMP_CLAUSE_ITERATORS): New.
+
+2025-05-15  Kwok Cheung Yeung  <kcyeung@baylibre.com>
+
+	* gimplify.cc (gimplify_omp_affinity): Use OMP_ITERATOR_DECL_P.
+	(compute_omp_iterator_count): New.
+	(build_omp_iterator_loop): New.
+	(gimplify_omp_depend): Use OMP_ITERATOR_DECL_P,
+	compute_omp_iterator_count and build_omp_iterator_loop.
+	* tree-inline.cc (copy_tree_body_r): Use OMP_ITERATOR_DECL_P.
+	* tree-pretty-print.cc (dump_omp_clause): Likewise.
+	* tree.h (OMP_ITERATOR_DECL_P): New macro.
+
+2025-05-15  Chung-Lin Tang  <cltang@baylibre.com>
+	    Sandra Loosemore  <sloosemore@baylibre.com>
+
+	* doc/extend.texi:  Adjust version references to 2.7 from 2.6.
+
+2025-05-15  Chung-Lin Tang  <cltang@baylibre.com>
+
+	* config/gcn/gcn-tree.cc (gcn_goacc_reduction_setup): Fix array case
+	copy source into reduction buffer.
+	* config/nvptx/nvptx.cc (nvptx_expand_shared_addr): Move default size
+	init setting place.
+	(enum nvptx_builtins): Add NVPTX_BUILTIN_BAR_WARPSYNC.
+	(nvptx_init_builtins): Add DEF() of nvptx_builtin_bar_warpsync.
+	(nvptx_expand_builtin): Expand NVPTX_BUILTIN_BAR_WARPSYNC.
+	(nvptx_goacc_reduction_setup): Fix array case copy source into reduction
+	buffer.
+	(nvptx_goacc_reduction_fini): Add bar.warpsync for at end of vector-mode
+	reductions for sm_70 and above.
+
+2025-05-15  Chung-Lin Tang  <cltang@baylibre.com>
+
+	* config/gcn/gcn-tree.cc (#include "omp-offload.h"): Add include.
+	(#include "memmodel.h"): Add include.
+	(gcn_array_reduction_buffers): New vec<tree>
+	for holding DECLs for reduction buffer pointer variables.
+	(gcn_lockfull_update): Add pointer type fold_converts.
+	(gcn_reduction_update): Additions for handling ARRAY_TYPE, pointer to
+	ARRAY_TYPE, and RECORD_TYPE reductions.
+	(gcn_goacc_get_worker_red_decl): Adjust parameters to handle
+	non-constant offset case.
+	(gcn_goacc_get_worker_array_reduction_buffer): New function.
+	(gcn_create_if_else_seq): New function.
+	(gcn_create_do_while_loop_seq): New function.
+	(gcn_goacc_reduction_setup): Adjustments to handle arrays and records.
+	(gcn_goacc_reduction_init): Likewise.
+	(gcn_goacc_reduction_fini): Likewise.
+	(gcn_goacc_reduction_teardown): Likewise.
+	* config/nvptx/nvptx.cc (nvptx_gen_shuffle): Properly generate
+	V2SI shuffle using vec_extract op.
+	(nvptx_expand_shared_addr): Adjustments to handle non-constant size.
+	(nvptx_get_shared_red_addr): Adjust type/alignment calculations to
+	use TYPE_SIZE/ALIGN_UNIT instead of machine mode based.
+	(nvptx_get_shared_red_addr): New function with array_max_idx parameter.
+	(nvptx_reduction_update): Additions for handling ARRAY_TYPE, pointer to
+	ARRA_TYPE, and RECORD_TYPE reductions.
+	(nvptx_goacc_reduction_setup): Likewise.
+	(nvptx_goacc_reduction_init): Likewise.
+	(nvptx_goacc_reduction_fini): Likewise.
+	(nvptx_goacc_reduction_teardown): Likewise.
+	* gimplify.cc (gimplify_scan_omp_clauses): Gimplify inside COMPONENT_REF
+	and convert codes for OMP_CLAUSE_REDUCTION cases. Add DECL_P check for
+	do_add/do_add_decl goto case.
+	(gimplify_adjust_omp_clauses): Avoid GOMP_MAP_POINTER OMP_CLAUSE_SIZE
+	handling for OpenACC kernels. Call omp_add_variable for ARRAY_REF index.
+	Peel away array MEM_REF for decl lookup.
+	* omp-low.cc (struct omp_context):
+	Add 'hash_map<tree, tree> *block_vars_map' field.
+	(omp_copy_decl_2): Create/lookup using ctx->block_vars_map first. Add
+	new copy into ctx->block_vars_map.
+	(install_var_field): Add 'bool field_may_exist = false' parameter.
+	Adjust lookup assertions.
+	(delete_omp_context): Add delete of ctx->block_vars_map.
+	(scan_sharing_clauses): Adjust calls to install_var_field. Adjust
+	ARRAY_REF pointer type building to use decl type, rather than generic
+	ptr_type_node. For ARRAY_REFs on offloaded constructs, also add base
+	expression as field lookup key.
+	(omp_reduction_init_op): Add ARRAY_TYPE and RECORD_TYPE init op
+	construction.
+	(oacc_array_reduction_bias): New function.
+	(lower_oacc_reductions): Add array reduction handling code. Arrays use
+	a different mode of IFN parameters, using additional 'array_addr' and
+	'array_max_idx' arguments. The LHS var is a simple integer for
+	dependency ordering.
+	(lower_omp_target): Adjust 'offload' condition for GOMP_MAP_POINTER
+	case. Generate BUILT_IN_ALLOCA_WITH_ALIGN to create private copy
+	for reductions of non-constant size types.
+	* omp-oacc-neuter-broadcast.cc (worker_single_copy):
+	Add 'hash_set<tree> *array_reduction_base_vars' parameter. Avoid
+	propagation for SSA_NAMEs used for array reduction accesses.
+	(neuter_worker_single): Add 'hash_set<tree> *array_reduction_base_vars'
+	parameter. Adjust recursive calls to self and worker_single_copy.
+	(oacc_do_neutering): Add 'hash_set<tree> *array_reduction_base_vars'
+	parameter. Adjust call to neuter_worker_single.
+	(execute_omp_oacc_neuter_broadcast): Add local
+	'hash_set<tree> array_reduction_base_vars' declaration. Collect MEM_REF
+	base-pointer SSA_NAMEs of arrays into array_reduction_base_vars. Add
+	'&array_reduction_base_vars' argument to call of oacc_do_neutering.
+	* omp-offload.cc (#include "cfghooks.h"): Add include.
+	(oacc_build_array_copy): New function.
+	(oacc_build_array_copy_loop): New function.
+	(oacc_build_indexed_ssa_loop): New function.
+	(default_goacc_reduction): Adjustments to handle arrays.
+	* omp-offload.h (oacc_build_array_copy): New declaration.
+	(oacc_build_array_copy_loop): New declaration.
+	(oacc_build_indexed_ssa_loop): New declaration.
+	* tree-loop-distribution.cc (generate_memset_builtin): Under OpenACC,
+	when last stmt of pre-header block is a UNIQUE(OACC_FORK) internal-fn,
+	split a new basic block to serve as place of insertion, otherwise
+	may fail later checking because UNIQUE(OACC_FORK) counts as control
+	flow stmt.
+	(generate_memcpy_builtin): Likewise.
+
+2025-05-15  Sandra Loosemore  <sloosemore@baylibre.com>
+
+	* omp-general.cc (omp_context_selector_matches): Add an optional
+	bool argument for the code elision case.
+	* omp-general.h (omp_context_selector_matches): Likewise.
+
+2025-05-15  Sandra Loosemore  <sloosemore@baylibre.com>
+
+	* omp-general.cc (omp_mangle_variant_name): New.
+	(omp_check_for_duplicate_variant): New.
+	(omp_copy_trait_set): New.
+	(omp_trait_selectors_equivalent): New.
+	(omp_combine_trait_sets): New.
+	(omp_merge_context_selectors): New.
+	* omp-general.h (omp_mangle_variant_name): Declare.
+	(omp_check_for_duplicate_variant): Declare.
+	(omp_merge_context_selectors): Declare.
+
+2025-05-15  Chung-Lin Tang  <cltang@baylibre.com>
+
+	* gimple-expr.cc (copy_var_decl): Copy VAR_POINTS_TO_READONLY
+	for VAR_DECLs.
+	* omp-low.cc (lower_omp_target): Set VAR_POINTS_TO_READONLY for
+	variables of receiver refs.
+	* tree-pretty-print.cc (dump_omp_clause):
+	Print OMP_CLAUSE_MAP_POINTS_TO_READONLY.
+	(dump_generic_node): Print SSA_NAME_POINTS_TO_READONLY_MEMORY.
+	* tree-ssanames.cc (make_ssa_name_fn): Set
+	SSA_NAME_POINTS_TO_READONLY_MEMORY if DECL_POINTS_TO_READONLY is set.
+	* tree.h (OMP_CLAUSE_MAP_POINTS_TO_READONLY): New macro.
+	(VAR_POINTS_TO_READONLY): New macro.
+
+2025-05-15  waffl3x  <waffl3x@baylibre.com>
+	    Tobias Burnus  <tobias@codesourcery.com>
+
+	* cgraphunit.cc (varpool_node::finalize_decl): Add assert.
+	* gimplify.cc (gimplify_bind_expr): Handle C++ specific
+	implementation details.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+	    Sandra Loosemore  <sloosemore@baylibre.com>
+
+	* gimplify.cc (gimplify_adjust_omp_clauses): Don't gimplify
+	VIEW_CONVERT_EXPR away in GOMP_MAP_TO_GRID/GOMP_MAP_FROM_GRID clauses.
+	* omp-low.cc (omp_noncontig_descriptor_type): Add SPAN field.
+	(scan_sharing_clauses): Don't store descriptor size in its
+	OMP_CLAUSE_SIZE field.
+	(lower_omp_target): Add missing OMP_CLAUSE_MAP check.  Add special-case
+	string handling.  Handle span and bias.  Use low bound instead of zero
+	as index for trailing full dimensions.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+
+	* gimplify.cc (omp_group_last, omp_group_base): Add GOMP_MAP_TO_GRID,
+	GOMP_MAP_FROM_GRID support.
+	(gimplify_adjust_omp_clauses): Support new GOMP_MAP_GRID_DIM,
+	GOMP_MAP_GRID_STRIDE mapping nodes.  Don't crash on e.g. misuse of
+	ADDR_EXPR in mapping clauses.
+	* omp-general.cc (omp_parse_noncontiguous_array): New function.
+	(omp_parse_access_method): Add noncontiguous array support.
+	(omp_parse_structure_base): Add array-shaping support.
+	(debug_omp_tokenized_addr): Add ACCESS_NONCONTIG_ARRAY,
+	ACCESS_NONCONTIG_REF_TO_ARRAY token support.
+	* omp-general.h (access_method_kinds): Add ACCESS_NONCONTIG_ARRAY and
+	ACCESS_NONCONTIG_REF_TO_ARRAY access kinds.
+	* omp-low.cc (omp_noncontig_descriptor_type): New function.
+	(scan_sharing_clauses): Support noncontiguous array updates.
+	(lower_omp_target): Likewise.
+	* tree-pretty-print.cc (dump_omp_clause): Add GOMP_MAP_TO_GRID,
+	GOMP_MAP_FROM_GRID, GOMP_MAP_GRID_DIM, GOMP_MAP_GRID_STRIDE map kinds.
+	(dump_generic_node): Add stride support for OMP_ARRAY_SECTION.
+	* tree.def (OMP_ARRAY_SECTION): Add stride argument.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+
+	* gimplify.cc (dwarf2out.h): Include.
+	(omp_maybe_get_descriptor_from_ptr): New function.
+	(build_omp_struct_comp_nodes): Use above function to locate array
+	descriptor when necessary.
+	(omp_mapping_group_data, omp_mapping_group_ptr,
+	omp_mapping_group_pset): New functions.
+	(omp_instantiate_mapper): Handle inlining of "declare mapper" function
+	bodies containing setup code (e.g. for Fortran).  Handle pointers to
+	derived types.  Handle GOMP_MAP_MAPPING_GROUPs.
+	* tree-pretty-print.cc (dump_omp_clause): Handle
+	GOMP_MAP_MAPPING_GROUP.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+
+	* gimplify.cc (gimplify_omp_ctx): Add IMPLICIT_MAPPERS field.
+	(new_omp_context): Initialise IMPLICIT_MAPPERS hash map.
+	(delete_omp_context): Delete IMPLICIT_MAPPERS hash map.
+	(instantiate_mapper_info): New structs.
+	(remap_mapper_decl_1, omp_mapper_copy_decl, omp_instantiate_mapper,
+	omp_instantiate_implicit_mappers): New functions.
+	(gimplify_scan_omp_clauses): Handle MAPPER_BINDING clauses.
+	(gimplify_adjust_omp_clauses): Instantiate implicit declared mappers.
+	(gimplify_omp_declare_mapper): New function.
+	(gimplify_expr): Call above function.
+	* langhooks-def.h (lhd_omp_finish_mapper_clauses,
+	lhd_omp_mapper_lookup, lhd_omp_extract_mapper_directive,
+	lhd_omp_map_array_section): Add prototypes.
+	(LANG_HOOKS_OMP_FINISH_MAPPER_CLAUSES,
+	LANG_HOOKS_OMP_MAPPER_LOOKUP, LANG_HOOKS_OMP_EXTRACT_MAPPER_DIRECTIVE,
+	LANG_HOOKS_OMP_MAP_ARRAY_SECTION): Define macros.
+	(LANG_HOOK_DECLS): Add above macros.
+	* langhooks.cc (lhd_omp_finish_mapper_clauses,
+	lhd_omp_mapper_lookup, lhd_omp_extract_mapper_directive,
+	lhd_omp_map_array_section): New dummy functions.
+	* langhooks.h (lang_hooks_for_decls): Add OMP_FINISH_MAPPER_CLAUSES,
+	OMP_MAPPER_LOOKUP, OMP_EXTRACT_MAPPER_DIRECTIVE, OMP_MAP_ARRAY_SECTION
+	hooks.
+	* omp-general.h (omp_name_type<T>): Add templatized struct, hash type
+	traits (for omp_name_type<tree> specialization).
+	(omp_mapper_list<T>): Add struct.
+	* tree-core.h (omp_clause_code): Add OMP_CLAUSE__MAPPER_BINDING_.
+	* tree-pretty-print.cc (dump_omp_clause): Support GOMP_MAP_UNSET,
+	GOMP_MAP_PUSH_MAPPER_NAME, GOMP_MAP_POP_MAPPER_NAME artificial mapping
+	clauses.  Support OMP_CLAUSE__MAPPER_BINDING_ and OMP_DECLARE_MAPPER.
+	* tree.cc (omp_clause_num_ops, omp_clause_code_name): Add
+	OMP_CLAUSE__MAPPER_BINDING_.
+	* tree.def (OMP_DECLARE_MAPPER): New tree code.
+	* tree.h (OMP_DECLARE_MAPPER_ID, OMP_DECLARE_MAPPER_DECL,
+	OMP_DECLARE_MAPPER_CLAUSES): New defines.
+	(OMP_CLAUSE__MAPPER_BINDING__ID, OMP_CLAUSE__MAPPER_BINDING__DECL,
+	OMP_CLAUSE__MAPPER_BINDING__MAPPER): New defines.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+	    Thomas Schwinge  <tschwinge@baylibre.com>
+	    Sandra Loosemore  <sloosemore@baylibre.com>
+
+	* gimplify.cc (gimplify_adjust_omp_clauses_1): Set
+	OMP_CLAUSE_MAP_RUNTIME_IMPLICIT_P for OpenACC also.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+	    Paul-Antoine Arras  <parras@baylibre.com>
+	    Sandra Loosemore  <sandra@baylibre.com>
+
+	* gimplify.cc (gimplify_adjust_omp_clauses_1): Handle "oacc declare
+	create" attribute.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+
+	* gimplify.cc (omp_tsort_mark, omp_mapping_group): Move before
+	gimplify_omp_ctx. Add constructor to omp_mapping_group.
+	(gimplify_omp_ctx): Add DECL_DATA_CLAUSE field.
+	(new_omp_context, delete_omp_context): Initialise and free above field.
+	(omp_gather_mapping_groups_1): Use constructor for omp_mapping_group.
+	(gimplify_scan_omp_clauses): Record mappings that might be lexically
+	inherited.  Don't remove
+	GOMP_MAP_FIRSTPRIVATE_POINTER/GOMP_MAP_FIRSTPRIVATE_REFERENCE yet.
+	(gomp_oacc_needs_data_present): New function.
+	(gimplify_adjust_omp_clauses_1): Implement lexical inheritance
+	behaviour for OpenACC.
+	(gimplify_adjust_omp_clauses): Remove
+	GOMP_MAP_FIRSTPRIVATE_POINTER/GOMP_MAP_FIRSTPRIVATE_REFERENCE here
+	instead, after lexical inheritance is done.
+
+2025-05-15  Chung-Lin Tang  <cltang@codesourcery.com>
+
+	Backported from master:
+	2023-05-19  Chung-Lin Tang  <cltang@codesourcery.com>
+
+	* builtins.cc (expand_builtin_omp_builtins): New function.
+	(expand_builtin): Add expand cases for BUILT_IN_GOMP_BARRIER,
+	BUILT_IN_OMP_GET_THREAD_NUM, BUILT_IN_OMP_GET_NUM_THREADS,
+	BUILT_IN_OMP_GET_TEAM_NUM, and BUILT_IN_OMP_GET_NUM_TEAMS using
+	expand_builtin_omp_builtins, enabled under -fopenmp-target=acc.
+	* cgraphunit.cc (analyze_functions): Add call to
+	omp_ompacc_attribute_tagging, enabled under -fopenmp-target=acc.
+	* common.opt (fopenmp-target=): Add new option and enums.
+	* config/nvptx/mkoffload.cc (main): Handle -fopenmp-target=.
+	* config/nvptx/nvptx-protos.h (nvptx_expand_omp_get_num_threads): New
+	prototype.
+	(nvptx_mem_shared_p): Likewise.
+	* config/nvptx/nvptx.cc (omp_num_threads_sym): New global static RTX
+	symbol for number of threads in team.
+	(omp_num_threads_align): New var for alignment of omp_num_threads_sym.
+	(need_omp_num_threads): New bool for if any function references
+	omp_num_threads_sym.
+	(nvptx_option_override): Initialize omp_num_threads_sym/align.
+	(write_as_kernel): Disable normal OpenMP kernel entry under OMPACC mode.
+	(nvptx_declare_function_name): Disable shim function under OMPACC mode.
+	Disable soft-stack under OMPACC mode. Add generation of neutering init
+	code under OMPACC mode.
+	(nvptx_output_set_softstack): Return "" under OMPACC mode.
+	(nvptx_expand_call): Set parallelism to vector for function calls with
+	"ompacc for" attached.
+	(nvptx_expand_oacc_fork): Set mode to GOMP_DIM_VECTOR under OMPACC mode.
+	(nvptx_expand_oacc_join): Likewise.
+	(nvptx_expand_omp_get_num_threads): New function.
+	(nvptx_mem_shared_p): New function.
+	(nvptx_mach_max_workers): Return 1 under OMPACC mode.
+	(nvptx_mach_vector_length): Return 32 under OMPACC mode.
+	(nvptx_single): Add adjustments for OMPACC mode, which have
+	parallel-construct fork/joins, and regions of code where neutering is
+	dynamically determined.
+	(nvptx_reorg): Enable neutering under OMPACC mode when "ompacc for"
+	attribute is attached to function. Disable uniform-simt when under
+	OMPACC mode.
+	(nvptx_file_end): Write __nvptx_omp_num_threads out when needed.
+	(nvptx_goacc_fork_join): Return true under OMPACC mode.
+	* config/nvptx/nvptx.h (struct GTY(()) machine_function): Add
+	omp_parallel_predicate and omp_fn_entry_num_threads_reg fields.
+	* config/nvptx/nvptx.md (unspecv): Add UNSPECV_GET_TID,
+	UNSPECV_GET_NTID, UNSPECV_GET_CTAID, UNSPECV_GET_NCTAID,
+	UNSPECV_OMP_PARALLEL_FORK, UNSPECV_OMP_PARALLEL_JOIN entries.
+	(nvptx_shared_mem_operand): New predicate.
+	(gomp_barrier): New expand pattern.
+	(omp_get_num_threads): New expand pattern.
+	(omp_get_num_teams): New insn pattern.
+	(omp_get_thread_num): Likewise.
+	(omp_get_team_num): Likewise.
+	(get_ntid): Likewise.
+	(nvptx_omp_parallel_fork): Likewise.
+	(nvptx_omp_parallel_join): Likewise.
+	* expr.cc (expand_expr_real_1): Call expand_var_decl target hook.
+	* flag-types.h (omp_target_mode_kind): New flag value enum.
+	* gimplify.cc (struct gimplify_omp_ctx): Add 'bool ompacc' field.
+	(gimplify_scan_omp_clauses): Handle OMP_CLAUSE__OMPACC_.
+	(gimplify_adjust_omp_clauses): Likewise.
+	(gimplify_omp_ctx_ompacc_p): New function.
+	(gimplify_omp_for): Handle combined loops under OMPACC.
+	* lto-wrapper.cc (append_compiler_options): Add OPT_fopenmp_target_.
+	* omp-builtins.def (BUILT_IN_OMP_GET_THREAD_NUM): Remove CONST.
+	(BUILT_IN_OMP_GET_NUM_THREADS): Likewise.
+	* omp-expand.cc (remove_exit_barrier): Disable addressable-var
+	processing for parallel construct child functions under OMPACC mode.
+	(expand_oacc_for): Add OMPACC mode handling.
+	(get_target_arguments): Force thread_limit clause value to 1 under
+	OMPACC mode.
+	(expand_omp): Under OMPACC mode, avoid child function expanding of
+	GIMPLE_OMP_PARALLEL.
+	* omp-general.cc (omp_extract_for_data): Adjustments for OMPACC mode.
+	* omp-low.cc (struct omp_context): Add 'bool ompacc_p' field.
+	(scan_sharing_clauses): Handle OMP_CLAUSE__OMPACC_.
+	(ompacc_ctx_p): New function.
+	(scan_omp_parallel): Handle OMPACC mode, avoid creating child function.
+	(scan_omp_target): Tag "ompacc"/"ompacc for" attributes for target
+	construct child function, remove OMP_CLAUSE__OMPACC_ clauses.
+	(lower_oacc_head_mark): Handle OMPACC mode cases.
+	(lower_omp_for): Adjust OMP_FOR kind from OpenMP to OpenACC kinds, add
+	vector/gang clauses as needed. Add other OMPACC handling.
+	(lower_omp_taskreg): Add call to lower_oacc_head_tail for OMPACC case.
+	(lower_omp_target): Do OpenACC gang privatization under OMPACC case.
+	(lower_omp_teams): Forward OpenACC privatization variables to outer
+	target region under OMPACC mode.
+	(lower_omp_1): Do OpenACC gang privatization under OMPACC case for
+	GIMPLE_BIND.
+	* omp-offload.cc (ompacc_supported_clauses_p): New function.
+	(struct target_region_data): New struct type for tree walk.
+	(scan_fndecl_for_ompacc): New function.
+	(scan_omp_target_region_r): New function.
+	(scan_omp_target_construct_r): New function.
+	(omp_ompacc_attribute_tagging): New function.
+	(oacc_dim_call): Add OMPACC case handling.
+	(execute_oacc_device_lower): Make parts explicitly only OpenACC enabled.
+	(pass_oacc_device_lower::gate): Enable pass under OMPACC mode.
+	* omp-offload.h (omp_ompacc_attribute_tagging): New prototype.
+	* opts.cc (finish_options): Only allow -fopenmp-target= when -fopenmp
+	and no -fopenacc.
+	* target-insns.def (gomp_barrier): New defined insn pattern.
+	(omp_get_thread_num): Likewise.
+	(omp_get_num_threads): Likewise.
+	(omp_get_team_num): Likewise.
+	(omp_get_num_teams): Likewise.
+	* tree-core.h (enum omp_clause_code): Add new OMP_CLAUSE__OMPACC_ entry
+	for internal clause.
+	* tree-nested.cc (convert_nonlocal_omp_clauses): Handle
+	OMP_CLAUSE__OMPACC_.
+	* tree-pretty-print.cc (dump_omp_clause): Handle OMP_CLAUSE__OMPACC_.
+	* tree.cc (omp_clause_num_ops): Add OMP_CLAUSE__OMPACC_ entry.
+	(omp_clause_code_name): Likewise.
+	* tree.h (OMP_CLAUSE__OMPACC__FOR): New macro for OMP_CLAUSE__OMPACC_.
+
+2025-05-15  Andrew Stubbs  <ams@codesourcery.com>
+
+	* tree-vect-data-refs.cc (vect_analyze_data_refs): Workaround an
+	address-space bug.
+
+2025-05-15  Tobias Burnus  <tobias@codesourcery.com>
+
+	* builtin-types.def (BT_FN_VOID_PTRMODE): Add.
+	(BT_FN_PTRMODE_PTRMODE_INT_PTR): Add.
+	* gimplify.cc (gimplify_bind_expr): Diagnose missing
+	uses_allocators clause.
+	(gimplify_scan_omp_clauses, gimplify_adjust_omp_clauses,
+	gimplify_omp_workshare): Handle uses_allocators.
+	* omp-builtins.def (BUILT_IN_OMP_INIT_ALLOCATOR,
+	BUILT_IN_OMP_DESTROY_ALLOCATOR): Add.
+	* omp-low.cc (scan_sharing_clauses): Handle OMP_CLAUSE_USES_ALLOCATORS
+	and OMP_CLAUSE_USES_ALLOCATORS_ALLOCATOR clauses.
+	* tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_USES_ALLOCATORS.
+	* tree.cc (omp_clause_num_ops, omp_clause_code_name): Likewise.
+	* tree-pretty-print.cc (dump_omp_clause): Handle it.
+	* tree.h (OMP_CLAUSE_USES_ALLOCATORS_ALLOCATOR,
+	OMP_CLAUSE_USES_ALLOCATORS_MEMSPACE,
+	OMP_CLAUSE_USES_ALLOCATORS_TRAITS): New.
+
+2025-05-15  Tobias Burnus  <tobias@codesourcery.com>
+	    Sandra Loosemore  <sloosemore@baylibre.com>
+
+	* omp-oacc-kernels-decompose.cc (top_level_omp_for_in_stmt,
+	decompose_kernels_region_body): Handle GIMPLE_DEBUG like
+	simple assignment.
+
+2025-05-15  Andrew Stubbs  <ams@baylibre.com>
+
+	* omp-builtins.def (BUILT_IN_GOMP_ENABLE_PINNED_MODE): New.
+	* omp-low.cc (omp_enable_pinned_mode): New function.
+	(execute_lower_omp): Call omp_enable_pinned_mode.
+
+2025-05-15  Andrew Stubbs  <ams@baylibre.com>
+
+	* common.opt: Add -foffload-memory and its enum values.
+	* coretypes.h (enum offload_memory): New.
+	* doc/invoke.texi: Document -foffload-memory.
+
+2025-05-15  Kwok Cheung Yeung  <kcy@codesourcery.com>
+
+	* omp-expand.cc (expand_oacc_for): Convert .tile variable to
+	diff_type before multiplying.
+	* omp-general.cc (omp_extract_for_data): Use accumulated precision
+	of all collapsed for-loops as precision of iteration variable, up
+	to the precision of a long long.
+
+2025-05-15  Chung-Lin Tang  <cltang@codesourcery.com>
+	    Paul-Antoine Arras  <parras@baylibre.com>
+
+	* omp-low.cc (install_var_field): Add new 'tree key_expr = NULL_TREE'
+	default parameter. Set splay-tree lookup key to key_expr instead of
+	var if key_expr is non-NULL. Adjust call to install_parm_decl.
+	Update comments.
+	(scan_sharing_clauses): Use clause tree expression as splay-tree key
+	for map/to/from and OpenACC firstprivate cases when installing the
+	variable field into the send/receive record type.
+	(maybe_lookup_field_in_outer_ctx): Add code to search through
+	construct clauses instead of entirely based on splay-tree lookup.
+	(lower_oacc_reductions): Adjust to find map-clause of reduction
+	variable, then create receiver-ref.
+	(lower_omp_target): Adjust to lookup var field using clause expression.
+
+2025-05-15  Andrew Stubbs  <ams@codesourcery.com>
+
+	* dwarf2out.cc (add_location_or_const_value_attribute): Set
+	DW_AT_address_class, if appropriate.
+
+2025-05-15  Andrew Stubbs  <ams@codesourcery.com>
+
+	* dwarf2out.cc (notional_parents_list): New file variable.
+	(gen_subprogram_die): Record offload kernel functions in
+	notional_parents_list.
+	(fixup_notional_parents): New function.
+	(dwarf2out_finish): Call fixup_notional_parents.
+	(dwarf2out_c_finalize): Reset notional_parents_list.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+
+	* omp-offload.cc (oacc_thread_numbers): Add VF_BY_VECTORIZER parameter.
+	Add overloaded wrapper for previous arguments & behaviour.
+	(oacc_xform_loop): Lower vector loops to iterate a multiple of
+	omp_max_vf times over contiguous steps on non-SIMT targets.
+
+2025-05-15  Cesar Philippidis  <cesar@codesourcery.com>
+	    Julian Brown   <julian@codesourcery.com>
+	    Kwok Cheung Yeung   <kcy@codesourcery.com>
+	    Tobias Burnus  <tobias@codesourcery.com>
+	    Thomas Schwinge  <thomas@codesourcery.com>
+	    Paul-Antoine Arras  <parras@baylibre.com>
+
+	* gimplify.cc (omp_group_base): Handle GOMP_MAP_DECLARE_ALLOCATE
+	and GOMP_MAP_DECLARE_DEALLOCATE.
+	(gimplify_adjust_omp_clauses): Likewise.
+	* omp-low.cc (scan_sharing_clauses): Update handling of OpenACC declare
+	create, declare copyin and declare deviceptr to have local lifetimes.
+	(convert_to_firstprivate_int): Handle pointer types.
+	(convert_from_firstprivate_int): Likewise.  Create local storage for
+	the values being pointed to.  Add new orig_type argument.  Use
+	VIEW_CONVERT also for vectors.
+	(lower_omp_target): Handle GOMP_MAP_DECLARE_{ALLOCATE,DEALLOCATE}.
+	Add orig_type argument to convert_from_firstprivate_int call.
+	Allow pointer types with GOMP_MAP_FIRSTPRIVATE_INT.  Don't privatize
+	firstprivate VLAs.
+	* tree-pretty-print.cc (dump_omp_clause): Handle
+	GOMP_MAP_DECLARE_{ALLOCATE,DEALLOCATE}.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+	    Tobias Burnus  <tobias@codesourcery.com>
+	    Sandra Loosemore  <sandra@baylibre.com>
+
+	* gimplify.cc (localize_reductions): Rewrite references for
+	OMP_CLAUSE_PRIVATE also.  Do not create local variable for
+	privatized arrays as the size is not directly known by the type.
+
+2025-05-15  Cesar Philippidis  <cesar@codesourcery.com>
+	    Julian Brown  <julian@codesourcery.com>
+	    Sandra Loosemore  <sloosemore@baylibre.com>
+
+	* gimplify.cc (privatize_reduction): New struct.
+	(localize_reductions_r, localize_reductions): New functions.
+	(gimplify_omp_for): Call localize_reductions.
+	(gimplify_omp_workshare): Likewise.
+	* omp-low.cc (lower_oacc_reductions): Handle localized reductions.
+	Create fewer temp vars.
+	* tree-core.h (omp_clause_code): Add OMP_CLAUSE_REDUCTION_PRIVATE_DECL
+	documentation.
+	* tree.cc (omp_clause_num_ops): Bump number of ops for
+	OMP_CLAUSE_REDUCTION to 6.
+	(walk_tree_1): Adjust accordingly.
+	* tree.h (OMP_CLAUSE_REDUCTION_PRIVATE_DECL): Add macro.
+
+2025-05-15  Cesar Philippidis  <cesar@codesourcery.com>
+	    Chung-Lin Tang   <cltang@codesourcery.com>
+
+	* gimplify.cc (omp_add_variable): Enable firstprivate reduction
+	variables.
+
+2025-05-15  Cesar Philippidis  <cesar@codesourcery.com>
+
+	* omp-low.cc (lower_oacc_head_mark): Don't mark OpenACC auto
+	loops as independent inside acc parallel regions.
+
+2025-05-15  Cesar Philippidis  <cesar@codesourcery.com>
+	    Julian Brown   <julian@codesourcery.com>
+	    Tobias Burnus  <tobias@codesourcery.com>
+	    Kwok Cheung Yeung  <kcy@codesourcery.com>
+
+	* omp-low.cc (maybe_lookup_field_in_outer_ctx): New function.
+	(convert_to_firstprivate_int): New function.
+	(convert_from_firstprivate_int): New function.
+	(lower_omp_target): Enable GOMP_MAP_FIRSTPRIVATE_INT in OpenACC.
+	Remove unused variable.
+
+2025-05-15  Nathan Sidwell  <nathan@acm.org>
+	    Tom de Vries   <tdevries@suse.de>
+	    Thomas Schwinge   <thomas@codesourcery.com>
+	    Julian Brown   <julian@codesourcery.com>
+
+	* doc/invoke.texi (fopenacc-dim): Document syntax for using
+	runtime value from environment variable.
+	* omp-offload.cc (oacc_parse_default_dims): Implement it.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+	    Cesar Philippidis  <cesar@codesourcery.com>
+
+	* config/nvptx/nvptx.cc (nvptx_propagate_unified): New.
+	(nvptx_split_blocks): Call it for cond_uni insn.
+	(nvptx_expand_cond_uni): New.
+	(enum nvptx_builtins): Add NVPTX_BUILTIN_COND_UNI.
+	(nvptx_init_builtins): Initialize it.
+	(nvptx_expand_builtin): Handle NVPTX_BUILTIN_COND_UNI.
+	(nvptx_generate_vector_shuffle): Change integral SHIFT operand to
+	tree BITS operand.
+	(nvptx_vector_reduction): New.
+	(nvptx_adjust_reduction_type): New.
+	(nvptx_goacc_reduction_setup): Use it to adjust the type of ref_to_res.
+	(nvptx_goacc_reduction_init): Don't update LHS if it doesn't exist.
+	(nvptx_goacc_reduction_fini): Call nvptx_vector_reduction for vector.
+	Use it to adjust the type of ref_to_res.
+	(nvptx_goacc_reduction_teardown): Call nvptx_adjust_reduction_type.
+	* config/nvptx/nvptx.md (cond_uni): New pattern.
+	* gimplify.cc (gimplify_adjust_omp_clauses): Add DECL_P check
+	for OMP_CLAUSE_TASK_REDUCTION.
+	* omp-low.cc (lower_oacc_reductions): Handle
+	GOMP_MAP_FIRSTPRIVATE_POINTER.
+	* omp-offload.cc (default_goacc_reduction): Likewise.
+
+2025-05-15  Cesar Philippidis  <cesar@codesourcery.com>
+	    James Norris   <jnorris@codesourcery.com>
+	    Julian Brown  <julian@codesourcery.com>
+	    Tobias Burnus  <tobias@codesourcery.com>
+	    Thomas Schwinge  <tschwinge@baylibre.com>
+
+	* gimplify.cc (enum gimplify_omp_var_data): Add GOVD_DEVICETPR.
+	(oacc_default_clause): Privatize fortran common blocks.
+	(omp_notice_variable): Add GOVD_DEVICEPTR attribute when appropriate.
+	Defer the expansion of DECL_VALUE_EXPR for common block decls.
+	(gimplify_scan_omp_clauses): Add GOVD_DEVICEPTR attribute when
+	appropriate.
+	(gimplify_adjust_omp_clauses_1): Set GOMP_MAP_FORCE_DEVICEPTR for
+	implicit deviceptr mappings.
+
+2025-05-15  Chung-Lin Tang  <cltang@codesourcery.com>
+	    Kwok Cheung Yeung  <kcy@codesourcery.com>
+	    Paul-Antoine Arras  <parras@baylibre.com>
+
+	PR other/76739
+	* builtin-types.def (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_VAR): New type.
+	* gimplify.cc (omp_group_base): Handle GOMP_MAP_NONCONTIG_ARRAY_*.
+	(gimplify_scan_omp_clauses): Handle OMP_TARGET_UPDATE.
+	(gimplify_adjust_omp_clauses): Skip gimplification of
+	OMP_CLAUSE_SIZE of non-contiguous array maps (which is a TREE_LIST).
+	* omp-builtins.def (BUILT_IN_GOACC_DATA_START): Adjust function type
+	to new BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_VAR.
+	* omp-expand.cc (expand_omp_target): Add non-contiguous array
+	descriptor pointers to variadic arguments.
+	* omp-low.cc (append_field_to_record_type): New function.
+	(create_noncontig_array_descr_type): Likewise.
+	(create_noncontig_array_descr_init_code): Likewise.
+	(scan_sharing_clauses): For non-contiguous array map kinds, check for
+	supported dimension structure, and install non-contiguous array
+	variable into current omp_context.
+	(reorder_noncontig_array_clauses): New function.
+	(scan_omp_target): Call reorder_noncontig_array_clauses to place
+	non-contiguous array map clauses at beginning of clause sequence.
+	(lower_omp_target): Add handling for non-contiguous array map kinds,
+	add all created non-contiguous array descriptors to
+	gimple_omp_target_data_arg.
+	* tree-pretty-print.cc (dump_omp_clause): Handle
+	GOMP_MAP_NONCONTIG_ARRAY_*.
+
+2025-05-15  Sandra Loosemore  <sloosemore@baylibre.com>
+
+	* Makefile.in (REVISION_s): Change default message.
\ No newline at end of file
diff --git a/gcc/DATESTAMP.omp b/gcc/DATESTAMP.omp
new file mode 100644
index 000000000000..63e8d5b6f5bd
--- /dev/null
+++ b/gcc/DATESTAMP.omp
@@ -0,0 +1 @@
+20250515
diff --git a/gcc/c-family/ChangeLog.omp b/gcc/c-family/ChangeLog.omp
new file mode 100644
index 000000000000..e7d477a01258
--- /dev/null
+++ b/gcc/c-family/ChangeLog.omp
@@ -0,0 +1,90 @@
+2025-05-15  Kwok Cheung Yeung  <kcyeung@baylibre.com>
+	    Andrew Stubbs  <ams@baylibre.com>
+
+	* c-omp.cc (omp_instantiate_mapper): Apply iterator to new clauses
+	generated from mapper.
+
+2025-05-15  Kwok Cheung Yeung  <kcyeung@baylibre.com>
+
+	* c-omp.cc (c_finish_omp_depobj): Use OMP_ITERATOR_DECL_P.
+
+2025-05-15  Chung-Lin Tang  <cltang@baylibre.com>
+	    Sandra Loosemore  <sloosemore@baylibre.com>
+
+	* c-cppbuiltin.cc (c_cpp_builtins): Updated _OPENACC to "201811"
+	for OpenACC 2.7.
+
+2025-05-15  Chung-Lin Tang  <cltang@baylibre.com>
+
+	* c-omp.cc (c_omp_address_inspector::expand_array_base):
+	Set OMP_CLAUSE_MAP_POINTS_TO_READONLY on pointer clause.
+	(c_omp_address_inspector::expand_component_selector): Likewise.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+	    Andrew Stubbs   <ams@baylibre.com>
+	    Kwok Cheung Yeung  <kcyeung@baylibre.com>
+	    Sandra Loosemore  <sloosemore@baylibre.com>
+
+	* c-common.h (c_omp_region_type): Add C_ORT_UPDATE and C_ORT_OMP_UPDATE
+	codes.
+	* c-omp.cc (omp_basic_map_kind_name): New function.
+	(omp_instantiate_mapper): Add LOC parameter.  Add 'target update'
+	support.
+	(c_omp_instantiate_mappers): Add 'target update' support.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+
+	* c-omp.cc (c_omp_address_inspector::map_supported_p): Support
+	VIEW_CONVERT_EXPR and ADDR_EXPR codes.
+	(omp_expand_grid_dim): New function.
+	(omp_handle_noncontig_array): New function.
+	(c_omp_address_inspector:expand_array_base): Support noncontiguous
+	array updates.
+	(c_omp_address_inspector::expand_component_selector): Support
+	noncontiguous array updates.
+	* c-pretty-print.cc (c_pretty_printer::postfix_expression): Add
+	OMP_ARRAY_SECTION stride support.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+
+	* c-common.h (expand_array_base, expand_component_selector,
+	expand_map_clause): Adjust member declarations.
+	* c-omp.cc (omp_expand_access_chain): Pass and return pointer to
+	clause.
+	(c_omp_address_inspector::expand_array_base): Likewise.
+	(c_omp_address_inspector::expand_component_selector): Likewise.
+	(c_omp_address_inspector::expand_map_clause): Likewise.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+
+	* c-common.h (c_omp_region_type): Add C_ORT_EXIT_DATA,
+	C_ORT_OMP_EXIT_DATA.
+	(c_omp_instantiate_mappers): Add region type parameter.
+	* c-omp.cc (omp_split_map_kind, omp_join_map_kind,
+	omp_map_decayed_kind): New functions.
+	(omp_instantiate_mapper): Add ORT parameter.  Implement map kind decay
+	for instantiated mapper clauses.
+	(c_omp_instantiate_mappers): Add ORT parameter, pass to
+	omp_instantiate_mapper.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+
+	* c-common.h (c_omp_region_type): Add C_ORT_DECLARE_MAPPER and
+	C_ORT_OMP_DECLARE_MAPPER codes.
+	(omp_mapper_list): Add forward declaration.
+	(c_omp_find_nested_mappers, c_omp_instantiate_mappers): Add prototypes.
+	* c-omp.cc (c_omp_find_nested_mappers): New function.
+	(remap_mapper_decl_info): New struct.
+	(remap_mapper_decl_1, omp_instantiate_mapper,
+	c_omp_instantiate_mappers): New functions.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+
+	* c-omp.cc (c_omp_address_inspector::expand_array_base): Don't omit
+	pointer nodes for OpenACC.
+
+2025-05-15  Tobias Burnus  <tobias@codesourcery.com>
+
+	* c-omp.cc (c_omp_split_clauses): Hande uses_allocators.
+	* c-pragma.h (enum pragma_omp_clause): Add
+	PRAGMA_OMP_CLAUSE_USES_ALLOCATORS.
\ No newline at end of file
diff --git a/gcc/c/ChangeLog.omp b/gcc/c/ChangeLog.omp
new file mode 100644
index 000000000000..ff881b5a7be4
--- /dev/null
+++ b/gcc/c/ChangeLog.omp
@@ -0,0 +1,237 @@
+2025-05-15  waffl3x  <waffl3x@baylibre.com>
+
+	PR c++/119659
+	PR c++/118859
+	PR c++/119601
+	PR c++/119602
+	PR c++/119775
+	* c-parser.cc (c_omp_numeric_ranges_always_overlap): New function.
+	(c_parser_omp_parm_list): New function.
+	(c_finish_omp_declare_variant): Use c_parser_omp_parm_list instead
+	of c_parser_omp_variable_list.  Refactor, change format of
+	"omp declare variant variant args" attribute.
+
+2025-05-15  Kwok Cheung Yeung  <kcyeung@baylibre.com>
+	    Andrew Stubbs  <ams@baylibre.com>
+
+	* c-parser.cc (c_parser_omp_clause_map): Apply iterator to push and
+	pop mapper clauses.
+
+2025-05-15  Kwok Cheung Yeung  <kcyeung@baylibre.com>
+
+	* c-parser.cc (c_parser_omp_iterators): Use macros for accessing
+	iterator elements.
+	(c_parser_omp_clause_affinity): Likewise.
+	(c_parser_omp_clause_depend): Likewise.
+	(c_parser_omp_clause_map): Likewise.
+	(c_parser_omp_clause_from_to): Likewise.
+	* c-typeck.cc (c_omp_finish_iterators): Likewise.
+
+2025-05-15  Kwok Cheung Yeung  <kcyeung@baylibre.com>
+
+	* c-typeck.cc (handle_omp_array_sections): Add extra argument.  Set
+	argument to true if array section has a stride that is not one.
+	(c_finish_omp_clauses): Disable strided updates when iterators are
+	used in the clause.  Emit sorry	if strided.
+
+2025-05-15  Kwok Cheung Yeung  <kcyeung@baylibre.com>
+
+	* 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.
+
+2025-05-15  Kwok Cheung Yeung  <kcyeung@baylibre.com>
+	    Andrew Stubbs  <ams@baylibre.com>
+
+	* c-parser.cc (c_parser_omp_clause_map): Parse 'iterator' modifier.
+	* c-typeck.cc (c_finish_omp_clauses): Finish iterators.  Apply
+	iterators to generated clauses.
+
+2025-05-15  Kwok Cheung Yeung  <kcyeung@baylibre.com>
+
+	* c-typeck.cc (handle_omp_array_sections): Use OMP_ITERATOR_DECL_P.
+	(c_finish_omp_clauses): Likewise.
+
+2025-05-15  Chung-Lin Tang  <cltang@baylibre.com>
+
+	* c-parser.cc (c_parser_omp_variable_list): Adjust parsing of opening
+	square bracket.
+	(c_parser_omp_clause_reduction): Adjustments for
+	OpenACC-specific cases.
+	* c-typeck.cc (c_oacc_reduction_defined_type_p): New function.
+	(c_oacc_reduction_code_name): Likewise.
+	(c_finish_omp_clauses): Handle OpenACC cases using new functions.
+
+2025-05-15  Sandra Loosemore  <sloosemore@baylibre.com>
+	    Julian Brown  <julian@codesourcery.com>
+
+	* c-decl.cc (current_omp_declare_variant_attribute): Define.
+	* c-lang.h (struct c_omp_declare_variant_attr): Declare.
+	(current_omp_declare_variant_attribute): Declare.
+	* c-parser.cc (c_parser_skip_to_pragma_omp_end_declare_variant): New.
+	(c_parser_translation_unit): Check for "omp begin declare variant"
+	with no matching "end".
+	(c_parser_declaration_or_fndef): Handle functions in "omp begin
+	declare variant" block.
+	(c_finish_omp_declare_variant): Merge context selectors with
+	surrounding "omp begin declare variant".
+	(JOIN_STR): Define.
+	(omp_start_variant_function): New.
+	(omp_finish_variant_function): New.
+	(c_parser_omp_begin): Handle "omp begin declare variant".
+	(c_parser_omp_end): Likewise.
+
+2025-05-15  waffl3x  <waffl3x@baylibre.com>
+	    Tobias Burnus  <tobias@codesourcery.com>
+
+	* c-parser.cc (c_parser_omp_allocate): Fix typo in diagnostic.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+	    Andrew Stubbs   <ams@baylibre.com>
+	    Kwok Cheung Yeung  <kcyeung@baylibre.com>
+	    Sandra Loosemore  <sloosemore@baylibre.com>
+
+	* c-parser.cc (c_parser_omp_variable_list): Support array-shaping
+	operator in 'declare mapper' definitions.
+	(c_parser_omp_clause_map): Pass C_ORT_OMP_DECLARE_MAPPER to
+	c_parser_omp_variable_list in mapper definitions.
+	(c_parser_omp_clause_from_to): Add parsing for mapper modifier.
+	(c_parser_omp_target_update): Instantiate mappers.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+
+	* c-parser.cc (c_parser_braced_init): Disallow array-shaping operator
+	in braced init.
+	(c_parser_conditional_expression): Disallow array-shaping operator in
+	conditional expression.
+	(c_parser_cast_expression): Add array-shaping operator support.
+	(c_parser_postfix_expression): Disallow array-shaping operator in
+	statement expressions.
+	(c_parser_postfix_expression_after_primary): Add OpenMP array section
+	stride support.
+	(c_parser_expr_list): Disallow array-shaping operator in expression
+	lists.
+	(c_array_type_nelts_total): New function.
+	(c_parser_omp_variable_list): Support array-shaping operator.
+	(c_parser_omp_target_update): Recognize GOMP_MAP_TO_GRID and
+	GOMP_MAP_FROM_GRID map kinds as well as OMP_CLAUSE_TO/OMP_CLAUSE_FROM.
+	* c-tree.h (c_omp_array_shaping_op_p, c_omp_has_array_shape_p): New
+	extern declarations.
+	(create_omp_arrayshape_type): Add prototype.
+	* c-typeck.cc (c_omp_array_shaping_op_p, c_omp_has_array_shape_p): New
+	globals.
+	(build_omp_array_section): Permit integral types, not just integer
+	constants, when creating array types for array sections.
+	(create_omp_arrayshape_type): New function.
+	(handle_omp_array_sections_1): Add DISCONTIGUOUS parameter.  Add
+	strided/rectangular array section support.
+	(omp_array_section_low_bound): New function.
+	(handle_omp_array_sections): Add DISCONTIGUOUS parameter.  Add
+	strided/rectangular array section support.
+	(c_finish_omp_clauses): Update calls to handle_omp_array_sections.
+	Handle discontiguous updates.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+
+	* c-parser.cc (c_parser_postfix_expression_after_primary): Dummy stride
+	support (for now).
+	(struct omp_dim): Add stride support.
+	(c_parser_omp_variable_list): Likewise.
+	* c-tree.h (build_omp_array_section): Update prototype.
+	* c-typeck.cc (mark_exp_read): Add stride support for
+	OMP_ARRAY_SECTION.
+	(build_omp_array_section): Add stride support.
+	(handle_omp_array_sections_1): Add minimal stride support.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+
+	* c-typeck.cc (handle_omp_array_sections): Pass pointer to clause to
+	process instead of clause.
+	(c_finish_omp_clauses): Update calls to handle_omp_array_sections.
+	Handle cases where initial clause might be replaced.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+
+	* c-parser.cc (c_parser_omp_target_data): Instantiate mappers for
+	'omp target data'.
+	(c_parser_omp_target_enter_data): Instantiate mappers for 'omp target
+	enter data'.
+	(c_parser_omp_target_exit_data): Instantiate mappers for 'omp target
+	exit data'.
+	(c_parser_omp_target): Add c_omp_region_type argument to
+	c_omp_instantiate_mappers call.
+	* c-tree.h (c_omp_instantiate_mappers): Remove spurious prototype.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+
+	* c-decl.cc (c_omp_mapper_id, c_omp_mapper_decl, c_omp_mapper_lookup,
+	c_omp_extract_mapper_directive, c_omp_map_array_section,
+	c_omp_scan_mapper_bindings_r, c_omp_scan_mapper_bindings): New
+	functions.
+	* c-objc-common.h (LANG_HOOKS_OMP_FINISH_MAPPER_CLAUSES,
+	LANG_HOOKS_OMP_MAPPER_LOOKUP, LANG_HOOKS_OMP_EXTRACT_MAPPER_DIRECTIVE,
+	LANG_HOOKS_OMP_MAP_ARRAY_SECTION): Define langhooks for C.
+	* c-parser.cc (c_parser_omp_clause_map): Add KIND parameter.  Handle
+	mapper modifier.
+	(c_parser_omp_all_clauses): Update call to c_parser_omp_clause_map with
+	new kind argument.
+	(c_parser_omp_target): Instantiate explicit mappers and record bindings
+	for implicit mappers.
+	(c_parser_omp_declare_mapper): Parse "declare mapper" directives.
+	(c_parser_omp_declare): Support "declare mapper".
+	* c-tree.h (c_omp_finish_mapper_clauses, c_omp_mapper_lookup,
+	c_omp_extract_mapper_directive, c_omp_map_array_section,
+	c_omp_mapper_id, c_omp_mapper_decl, c_omp_scan_mapper_bindings,
+	c_omp_instantiate_mappers): Add prototypes.
+	* c-typeck.cc (c_finish_omp_clauses): Handle GOMP_MAP_PUSH_MAPPER_NAME
+	and GOMP_MAP_POP_MAPPER_NAME.
+	(c_omp_finish_mapper_clauses): New function (langhook).
+
+2025-05-15  Tobias Burnus  <tobias@codesourcery.com>
+
+	* c-parser.cc (c_parser_omp_clause_uses_allocators): New.
+	(c_parser_omp_clause_name, c_parser_omp_all_clauses,
+	OMP_TARGET_CLAUSE_MASK): Handle uses_allocators.
+	* c-typeck.cc (c_finish_omp_clauses): Likewise.
+
+2025-05-15  Chung-Lin Tang  <cltang@codesourcery.com>
+	    Paul-Antoine Arras  <parras@baylibre.com>
+
+	* c-typeck.cc (c_finish_omp_clauses): Adjust to allow duplicate
+	mapped variables for OpenMP.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+	    Cesar Philippidis  <cesar@codesourcery.com>
+	    Nathan Sidwell  <nathan@acm.org>
+	    Kwok Cheung Yeung   <kcy@codesourcery.com>
+
+	* c-parser.cc (c_parser_omp_variable_list): New c_omp_region_type
+	argument.  Use it to specialize handling of OMP_CLAUSE_REDUCTION for
+	OpenACC.
+	(c_parser_omp_var_list_parens): Add region-type argument to call.
+	(c_parser_oacc_data_clause): Likewise.
+	(c_parser_oacc_data_clause_deviceptr): Likewise.
+	(c_parser_omp_clause_reduction): Change is_omp boolean parameter to
+	c_omp_region_type.  Update call to c_parser_omp_variable_list.
+	(c_parser_omp_clause_map): Update call to
+	c_parser_omp_variable_list.
+	(c_parser_omp_clause_from_to): Likewise.
+	(c_parser_omp_clause_init): Likewise.
+	(c_parser_oacc_all_clauses): Update calls to
+	c_parser_omp_clause_reduction.
+	(c_parser_omp_all_clauses): Likewise.
+	(c_parser_oacc_cache): Update call to c_parser_omp_variable_list.
+	* c-typeck.cc (c_finish_omp_clauses): Emit an error on orphan OpenACC
+	gang reductions.  Suppress user-defined reduction error for OpenACC.
+
+2025-05-15  Chung-Lin Tang  <cltang@codesourcery.com>
+	    Kwok Cheung Yeung  <kcy@codesourcery.com>
+	    Paul-Antoine Arras  <parras@baylibre.com>
+
+	PR other/76739
+	* c-typeck.cc (handle_omp_array_sections_1): Add 'bool &non_contiguous'
+	parameter, adjust recursive call site, add cases for allowing
+	pointer based multi-dimensional arrays for OpenACC.  Reject
+	non-DECL base-pointer cases as unsupported.
+	(handle_omp_array_sections): Adjust handle_omp_array_sections_1 call,
+	handle non-contiguous case to create dynamic array map.
\ No newline at end of file
diff --git a/gcc/cp/ChangeLog.omp b/gcc/cp/ChangeLog.omp
new file mode 100644
index 000000000000..3f2574acaa73
--- /dev/null
+++ b/gcc/cp/ChangeLog.omp
@@ -0,0 +1,332 @@
+2025-05-15  Sandra Loosemore  <sloosemore@baylibre.com>
+	    Tobias Burnus  <tburnus@baylibre.com>
+
+	* parser.cc (cp_finish_omp_declare_variant): Adjust error messages.
+
+2025-05-15  waffl3x  <waffl3x@baylibre.com>
+
+	PR c++/119659
+	PR c++/118859
+	PR c++/119601
+	PR c++/119602
+	PR c++/119775
+	PR c++/119659
+	PR c++/118859
+	PR c++/119601
+	PR c++/119602
+	PR c++/119775
+	* cp-tree.h (finish_omp_parm_list): New declaration.
+	(finish_omp_adjust_args): New declaration.
+	* decl.cc (omp_declare_variant_finalize_one): Refactor and change
+	attribute unpacking, use finish_omp_parm_list and
+	finish_omp_adjust_args, refactor append_args diagnostics, add
+	nbase_parms to append_args attribute, remove special handling for
+	member functions.
+	* parser.cc (cp_parser_direct_declarator): Don't pass parms.
+	(cp_parser_late_return_type_opt): Remove parms parameter.
+	(cp_parser_omp_parm_list): New function.
+	(cp_finish_omp_declare_variant): Remove parms parameter.
+	Add NULL_TREE instead of nbase_args to append_args_tree.  Refactor,
+	use cp_parser_omp_parm_list not cp_parser_omp_var_list_no_open,
+	handle "need_device_addr" and remove handling and diagnostics of
+	parm list arguments that are done too early.  Change format of
+	unnamed variant attribute.
+	(cp_parser_late_parsing_omp_declare_simd): Remove parms parameter.
+	* pt.cc (tsubst_attribute): Copy "omp declare variant base" nodes,
+	substitute parm list numeric range bounds.
+	* semantics.cc (finish_omp_parm_list): New function.
+	(finish_omp_adjust_args): New function.
+
+2025-05-15  Kwok Cheung Yeung  <kcyeung@baylibre.com>
+	    Andrew Stubbs  <ams@baylibre.com>
+
+	* parser.cc (cp_parser_omp_clause_map): Apply iterator to push and
+	pop mapper clauses.
+	* semantics.cc (cxx_omp_map_array_section): Allow array types for
+	base type of array sections.
+
+2025-05-15  Kwok Cheung Yeung  <kcyeung@baylibre.com>
+
+	* parser.cc (cp_parser_omp_iterators): Use macros for accessing
+	iterator elements.
+	(cp_parser_omp_clause_affinity): Likewise.
+	(cp_parser_omp_clause_depend): Likewise.
+	(cp_parser_omp_clause_from_to): Likewise.
+	(cp_parser_omp_clause_map): Likewise.
+	* semantics.cc (cp_omp_finish_iterators): Likewise.
+
+2025-05-15  Kwok Cheung Yeung  <kcyeung@baylibre.com>
+
+	* semantics.cc (handle_omp_array_sections): Add extra argument.  Set
+	argument to true if array section has a stride that is not one.
+	(finish_omp_clauses): Disable strided updates when iterators are
+	used in the clause.  Emit sorry if strided.
+
+2025-05-15  Kwok Cheung Yeung  <kcyeung@baylibre.com>
+
+	* parser.cc (cp_parser_omp_clause_from_to): Parse 'iterator' modifier.
+	* semantics.cc (finish_omp_clauses): Finish iterators for to/from
+	clauses.
+
+2025-05-15  Kwok Cheung Yeung  <kcyeung@baylibre.com>
+	    Andrew Stubbs  <ams@baylibre.com>
+
+	* parser.cc (cp_parser_omp_clause_map): Parse 'iterator' modifier.
+	* semantics.cc (finish_omp_clauses): Finish iterators.  Apply
+	iterators to generated clauses.
+
+2025-05-15  Kwok Cheung Yeung  <kcyeung@baylibre.com>
+
+	* pt.cc (tsubst_omp_clause_decl): Use OMP_ITERATOR_DECL_P.
+	* semantics.cc (handle_omp_array_sections): Likewise.
+	(finish_omp_clauses): Likewise.
+
+2025-05-15  Chung-Lin Tang  <cltang@baylibre.com>
+
+	* parser.cc (cp_parser_omp_var_list_no_open): Adjust parsing of opening
+	square bracket.
+	(cp_parser_omp_clause_reduction): Adjustments for
+	OpenACC-specific cases.
+	* semantics.cc (cp_oacc_reduction_defined_type_p): New function.
+	(cp_oacc_reduction_code_name): Likewise.
+	(finish_omp_reduction_clause): Handle OpenACC cases using new
+	functions.
+
+2025-05-15  Sandra Loosemore  <sloosemore@baylibre.com>
+	    Julian Brown  <julian@codesourcery.com>
+	    waffl3x  <waffl3x@baylibre.com>
+
+	* cp-tree.h (struct cp_omp_declare_variant_attr): New.
+	(struct saved_scope): Add omp_declare_variant_attribute field.
+	* decl.cc (omp_declare_variant_finalize_one): Add logic to inject
+	"this" parameter for method calls.
+	* parser.cc (cp_parser_skip_to_pragma_omp_end_declare_variant): New.
+	(omp_start_variant_function): New.
+	(omp_finish_variant_function): New.
+	(cp_parser_init_declarator): Handle variant functions.
+	(cp_parser_class_specifier): Handle deferred lookup of base functions
+	when the entire class has been seen.
+	(cp_parser_member_declaration): Handle variant functions.
+	(cp_finish_omp_declare_variant): Merge context selectors if in
+	a "begin declare variant" block.
+	(cp_parser_omp_begin): Match "omp begin declare variant".  Adjust
+	error messages.
+	(cp_parser_omp_end): Match "omp end declare variant".
+	* parser.h (struct cp_parser): Add omp_unregistered_variants field.
+	* semantics.cc (finish_translation_unit): Detect unmatched
+	"omp begin declare variant".
+
+2025-05-15  waffl3x  <waffl3x@baylibre.com>
+	    Tobias Burnus  <tobias@codesourcery.com>
+
+	* constexpr.cc (potential_constant_expression_1): Handle
+	OMP_ALLOCATE.
+	* cp-tree.def (OMP_ALLOCATE): New tree code.
+	* cp-tree.h (OMP_ALLOCATE_LOCATION): Define.
+	(OMP_ALLOCATE_VARS): Define.
+	(OMP_ALLOCATE_ALLOCATOR): Define.
+	(OMP_ALLOCATE_ALIGN): Define.
+	(finish_omp_allocate): New function declaration.
+	* decl.cc (make_rtl_for_nonlocal_decl): Work around ICE with
+	implicit constexpr functions.
+	* parser.cc (cp_parser_omp_allocate): Use OMP_CLAUSE_ERROR,
+	add diagnostics for args, call finish_omp_allocate.
+	(cp_parser_omp_construct): Don't handle PRAGMA_OMP_ALLOCATE.
+	(cp_parser_pragma): Comment.
+	* pt.cc (tsubst_stmt): Handle OMP_ALLOCATE, call
+	finish_omp_allocate.
+	* semantics.cc (finish_omp_allocate): New function.
+	* typeck.cc (can_do_nrvo_p): Don't do NRVO for omp allocate vars.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+	    Andrew Stubbs   <ams@baylibre.com>
+	    Kwok Cheung Yeung  <kcyeung@baylibre.com>
+	    Sandra Loosemore  <sloosemore@baylibre.com>
+
+	* parser.cc (cp_parser_omp_var_list_no_open): Support array-shaping
+	operator in 'declare mapper' definitions.
+	(cp_parser_omp_clause_from_to): Add parsing for mapper modifier.
+	(cp_parser_omp_clause_map): Pass C_ORT_OMP_DECLARE_MAPPER to
+	cp_parser_omp_var_list_no_open in mapper definitions.
+	(cp_parser_omp_target_update): Instantiate mappers.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+
+	* cp-objcp-common.cc (cp_common_init_ts): Add array-shape cast
+	support.
+	* cp-tree.def (OMP_ARRAYSHAPE_CAST_EXPR): Add tree code.
+	* cp-tree.h (DECLTYPE_FOR_OMP_ARRAYSHAPE_CAST): Add flag.
+	(cp_omp_create_arrayshape_type, cp_build_omp_arrayshape_cast): Add
+	prototypes.
+	(grok_omp_array_section, build_omp_array_section): Add stride
+	parameters.
+	* decl.cc (create_anon_array_type): New function.
+	(cp_omp_create_arrayshape_type): New function.
+	* decl2.cc (grok_omp_array_section): Add stride parameter.
+	(min_vis_expr_r): Add OMP_ARRAYSHAPE_CAST_EXPR support.
+	* error.cc (dump_expr): Add stride support for OMP_ARRAY_SECTION.
+	* mangle.cc (write_expression): Add OMP_ARRAYSHAPE_CAST_EXPR support.
+	* operators.def (OMP_ARRAYSHAPE_CAST_EXPR): Add.
+	* parser.cc (cp_parser_new): Initialise omp_array_shaping_op_p and
+	omp_has_array_shape_p fields.
+	(cp_parser_statement_expr): Don't allow array shaping op in statement
+	exprs.
+	(cp_parser_postfix_open_square_expression): Add stride parsing for
+	array sections.  Use array section code to represent array refs if we
+	have an array-shaping operator.
+	(cp_parser_parenthesized_expression_list): Don't allow array-shaping
+	op here.
+	(cp_parser_cast_expression): Add array-shaping operator parsing.
+	(cp_parser_lambda_expression): Don't allow array-shaping op in lambda
+	body.
+	(cp_parser_braced_list): Don't allow array-shaping op in braced list.
+	(struct omp_dim): Add stride field.
+	(cp_parser_var_list_no_open): Add stride/array shape support.
+	(cp_parser_omp_target_update): Handle noncontiguous updates.
+	* parser.h (cp_parser): Add omp_array_shaping_op_p and
+	omp_has_array_shape_p fields.
+	* pt.cc (tsubst): Add array-shape cast support.
+	(tsubst_copy, tsubst_copy_and_build): Likewise. Add stride support for
+	OMP_ARRAY_SECTION.
+	(tsubst_omp_clause_decl): Add stride support for OMP_ARRAY_SECTION.
+	* semantics.cc (handle_omp_array_sections_1): Add DISCONTIGUOUS
+	parameter and stride support.
+	(omp_array_section_low_bound): New function.
+	(handle_omp_array_sections): Add DISCONTIGUOUS parameter and stride
+	support.
+	(finish_omp_clauses): Update calls to handle_omp_array_sections, and
+	add noncontiguous array update support.
+	(cp_build_omp_arrayshape_cast): New function.
+	* typeck.cc (structural_comptypes): Add array-shape cast support.
+	(build_omp_array_section): Add stride parameter.
+	(check_for_casting_away_constness): Add OMP_ARRAYSHAPE_CAST_EXPR
+	support.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+
+	* semantics.cc (handle_omp_array_sections): Pass pointer to clause
+	instead of clause.  Add PNEXT return parameter for next clause in list
+	to process.
+	(finish_omp_clauses): Update calls to handle_omp_array_sections.
+	Handle cases where initial clause might be replaced.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+
+	* parser.cc (cp_parser_omp_target_data): Instantiate mappers for 'omp
+	target data'.
+	(cp_parser_omp_target_enter_data): Instantiate mappers for 'omp target
+	enter data'.
+	(cp_parser_omp_target_exit_data): Instantiate mappers for 'omp target
+	exit data'.
+	(cp_parser_omp_target): Add c_omp_region_type argument to
+	c_omp_instantiate_mappers call.
+	* pt.cc (tsubst_omp_clauses): Instantiate mappers for OMP regions other
+	than just C_ORT_OMP_TARGET.
+	(tsubst_expr): Update call to tsubst_omp_clauses for OMP_TARGET_UPDATE,
+	OMP_TARGET_ENTER_DATA, OMP_TARGET_EXIT_DATA stanza.
+	* semantics.cc (cxx_omp_map_array_section): Avoid calling
+	build_array_ref for non-array/non-pointer bases (error reported
+	already).
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+
+	* constexpr.cc (reduced_constant_expression_p): Add OMP_DECLARE_MAPPER
+	case.
+	(cxx_eval_constant_expression, potential_constant_expression_1):
+	Likewise.
+	* cp-gimplify.cc (cxx_omp_finish_mapper_clauses): New function.
+	* cp-objcp-common.h (LANG_HOOKS_OMP_FINISH_MAPPER_CLAUSES,
+	LANG_HOOKS_OMP_MAPPER_LOOKUP, LANG_HOOKS_OMP_EXTRACT_MAPPER_DIRECTIVE,
+	LANG_HOOKS_OMP_MAP_ARRAY_SECTION): Define langhooks.
+	* cp-tree.h (lang_decl_base): Add omp_declare_mapper_p field.  Recount
+	spare bits comment.
+	(DECL_OMP_DECLARE_MAPPER_P): New macro.
+	(omp_mapper_id): Add prototype.
+	(cp_check_omp_declare_mapper): Add prototype.
+	(omp_instantiate_mappers): Add prototype.
+	(cxx_omp_finish_mapper_clauses): Add prototype.
+	(cxx_omp_mapper_lookup): Add prototype.
+	(cxx_omp_extract_mapper_directive): Add prototype.
+	(cxx_omp_map_array_section): Add prototype.
+	* decl.cc (check_initializer): Add OpenMP declare mapper support.
+	(cp_finish_decl): Set DECL_INITIAL for OpenMP declare mapper var decls
+	as appropriate.
+	* decl2.cc (mark_used): Instantiate OpenMP "declare mapper" magic var
+	decls.
+	* error.cc (dump_omp_declare_mapper): New function.
+	(dump_simple_decl): Use above.
+	* parser.cc (cp_parser_omp_clause_map): Add KIND parameter.  Support
+	"mapper" modifier.
+	(cp_parser_omp_all_clauses): Add KIND argument to
+	cp_parser_omp_clause_map call.
+	(cp_parser_omp_target): Call omp_instantiate_mappers before
+	finish_omp_clauses.
+	(cp_parser_omp_declare_mapper): New function.
+	(cp_parser_omp_declare): Add "declare mapper" support.
+	* pt.cc (tsubst_decl): Adjust name of "declare mapper" magic var decls
+	once we know their type.
+	(tsubst_omp_clauses): Call omp_instantiate_mappers before
+	finish_omp_clauses, for target regions.
+	(tsubst_expr): Support OMP_DECLARE_MAPPER nodes.
+	(instantiate_decl): Instantiate initialiser (i.e definition) for OpenMP
+	declare mappers.
+	* semantics.cc (gimplify.h): Include.
+	(omp_mapper_id, omp_mapper_lookup, omp_extract_mapper_directive,
+	cxx_omp_map_array_section, cp_check_omp_declare_mapper): New functions.
+	(finish_omp_clauses): Delete GOMP_MAP_PUSH_MAPPER_NAME and
+	GOMP_MAP_POP_MAPPER_NAME artificial clauses.
+	(omp_target_walk_data): Add MAPPERS field.
+	(finish_omp_target_clauses_r): Scan for uses of struct/union/class type
+	variables.
+	(finish_omp_target_clauses): Create artificial mapper binding clauses
+	for used structs/unions/classes in offload region.
+
+2025-05-15  Tobias Burnus  <tobias@codesourcery.com>
+
+	* parser.cc (cp_parser_omp_clause_uses_allocators): New.
+	(cp_parser_omp_clause_name, cp_parser_omp_all_clauses,
+	OMP_TARGET_CLAUSE_MASK): Handle uses_allocators.
+	* semantics.cc (finish_omp_clauses): Likewise.
+
+2025-05-15  Chung-Lin Tang  <cltang@codesourcery.com>
+	    Paul-Antoine Arras  <parras@baylibre.com>
+
+	* semantics.cc (finish_omp_clauses): Adjust to allow duplicate
+	mapped variables for OpenMP.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+	    Cesar Philippidis  <cesar@codesourcery.com>
+	    Nathan Sidwell  <nathan@acm.org>
+	    Kwok Cheung Yeung   <kcy@codesourcery.com>
+
+	* parser.cc (cp_parser_omp_var_list_no_open):  New c_omp_region_type
+	argument.  Use it to specialize handling of OMP_CLAUSE_REDUCTION for
+	OpenACC.
+	(cp_parser_omp_var_list): Add c_omp_region_type argument. Update call
+	to cp_parser_omp_var_list_no_open.
+	(cp_parser_oacc_data_clause): Update call to
+	cp_parser_omp_var_list_no_open.
+	(cp_parser_omp_clause_reduction): Change is_omp boolean parameter to
+	c_omp_region_type.  Update call to cp_parser_omp_var_list_no_open.
+	(cp_parser_omp_clause_from_to): Update call to
+	cp_parser_omp_clause_var_list_no_open.
+	(cp_parser_omp_clause_map): Likewise.
+	(cp_parser_omp_clause_init): Likewise.
+	(cp_parser_oacc_all_clauses): Update call to
+	cp_parser_omp_clause_reduction.
+	(cp_parser_omp_all_clauses): Likewise.
+	* semantics.cc (finish_omp_reduction_clause): Add c_omp_region_type
+	argument.  Suppress user-defined reduction error for OpenACC.
+	(finish_omp_clauses): Update call to finish_omp_reduction_clause.
+
+2025-05-15  Chung-Lin Tang  <cltang@codesourcery.com>
+	    Kwok Cheung Yeung  <kcy@codesourcery.com>
+	    Paul-Antoine Arras  <parras@baylibre.com>
+
+	PR other/76739
+	* semantics.cc (handle_omp_array_sections_1): Add 'bool &non_contiguous'
+	parameter, adjust recursive call site, add cases for allowing
+	pointer based multi-dimensional arrays for OpenACC.  Reject
+	non-DECL base-pointer cases as unsupported.
+	(handle_omp_array_sections): Adjust handle_omp_array_sections_1 call,
+	handle non-contiguous case to create dynamic array map.
\ No newline at end of file
diff --git a/gcc/fortran/ChangeLog.omp b/gcc/fortran/ChangeLog.omp
new file mode 100644
index 000000000000..05c8e3f40057
--- /dev/null
+++ b/gcc/fortran/ChangeLog.omp
@@ -0,0 +1,448 @@
+2025-05-15  Sandra Loosemore  <sloosemore@baylibre.com>
+	    Tobias Burnus  <tburnus@baylibre.com>
+
+	* trans-openmp.cc (gfc_trans_omp_declare_variant): Disallow
+	polymorphic and optional arguments with need_device_addr for now, but
+	don't reject need_device_addr entirely.
+
+2025-05-15  waffl3x  <waffl3x@baylibre.com>
+
+	PR c++/119659
+	PR c++/118859
+	PR c++/119601
+	PR c++/119602
+	PR c++/119775
+	* trans-openmp.cc (gfc_trans_omp_declare_variant): Change format of
+	"omp declare variant variant args" attribute.
+
+2025-05-15  Kwok Cheung Yeung  <kcyeung@baylibre.com>
+
+	* trans-openmp.cc (gfc_omp_deep_mapping_map): Add new argument for
+	vector of newly created iterators.  Push new iterators onto the
+	vector.
+	(gfc_omp_deep_mapping_comps): Add new argument for vector of new
+	iterators.  Pass argument in calls to gfc_omp_deep_mapping_item and
+	gfc_omp_deep_mapping_comps.
+	(gfc_omp_deep_mapping_item): Add new argument for vector of new
+	iterators.  Pass argument in calls to gfc_omp_deep_mapping_map and
+	gfc_omp_deep_mapping_comps.
+	(gfc_omp_deep_mapping_do): Add new argument for vector of new
+	iterators.  Pass argument in calls to gfc_omp_deep_mapping_item.
+	(gfc_omp_deep_mapping_cnt): Pass NULL to new argument for
+	gfc_omp_deep_mapping_do.
+	(gfc_omp_deep_mapping): Add new argument for vector of new
+	iterators.  Pass argument in calls to gfc_omp_deep_mapping_do.
+	* trans.h (gfc_omp_deep_mapping): Add new argument.
+
+2025-05-15  Kwok Cheung Yeung  <kcyeung@baylibre.com>
+
+	* trans-openmp.cc (gfc_omp_deep_mapping_map): Remove const from ctx
+	argument.  Add arguments for iterators and the statement sequence to
+	go into the iterator loop.  Add statement sequence to iterator loop
+	body.  Generate iterator loop entries for generated maps, insert
+	the map decls and sizes into the iterator element arrays, replace
+	original decls with the address of the element arrays, and
+	sizes/biases with SIZE_INT.
+	(gfc_omp_deep_mapping_comps): Remove const from ctx. Add argument for
+	iterators.  Pass iterators to calls to gfc_omp_deep_mapping_item and
+	gfc_omp_deep_mapping_comps.
+	(gfc_omp_deep_mapping_item): Remove const from ctx. Add argument for
+	iterators.  Collect generated side-effect statements and pass to
+	gfc_omp_deep_mapping_map along with the iterators.  Pass iterators
+	to gfc_omp_deep_mapping_comps.
+	(gfc_omp_deep_mapping_do): Remove const from ctx.  Pass iterators to
+	gfc_omp_deep_mapping_item.
+	(gfc_omp_deep_mapping_cnt): Remove const from ctx.
+	(gfc_omp_deep_mapping): Likewise.
+	* trans.h (gfc_omp_deep_mapping_cnt): Likewise.
+	(gfc_omp_deep_mapping): Likewise.
+
+2025-05-15  Kwok Cheung Yeung  <kcyeung@baylibre.com>
+	    Andrew Stubbs  <ams@baylibre.com>
+
+	* openmp.cc (gfc_omp_instantiate_mapper): Add argument for namespace.
+	Apply namespace to new clauses.  Propagate namespace to nested
+	mappers.
+	(gfc_omp_instantiate_mappers): Pass namespace of clause to clauses
+	generated by mappers.
+
+2025-05-15  Kwok Cheung Yeung  <kcyeung@baylibre.com>
+
+	* trans-openmp.cc (gfc_trans_omp_array_section): Use macros for
+	accessing iterator elements.
+	(handle_iterator): Likewise.
+	(gfc_trans_omp_clauses): Likewise.
+
+2025-05-15  Kwok Cheung Yeung  <kcyeung@baylibre.com>
+
+	* trans-openmp.cc (gfc_trans_omp_clauses): Disable strided updates
+	when iterators are used in the clause.
+
+2025-05-15  Kwok Cheung Yeung  <kcyeung@baylibre.com>
+	    Andrew Stubbs   <ams@baylibre.com>
+
+	* dump-parse-tree.cc (show_omp_namelist): Add iterator support for
+	OMP_LIST_TO and OMP_LIST_FROM.
+	* match.cc (gfc_free_namelist): Free namespace for OMP_LIST_TO and
+	OMP_LIST_FROM.
+	* openmp.cc (gfc_free_omp_clauses): Free namespace for OMP_LIST_TO
+	and OMP_LIST_FROM.
+	(gfc_match_motion_var_list): Parse 'iterator' modifier.
+	(resolve_omp_clauses): Resolve iterators for OMP_LIST_TO and
+	OMP_LIST_FROM.
+	* trans-openmp.cc (gfc_trans_omp_clauses): Handle iterators in
+	OMP_LIST_TO and OMP_LIST_FROM clauses.  Add expressions to
+	iter_block rather than block.
+
+2025-05-15  Kwok Cheung Yeung  <kcyeung@baylibre.com>
+	    Andrew Stubbs  <ams@baylibre.com>
+
+	* dump-parse-tree.cc (show_omp_namelist): Add iterator support for
+	OMP_LIST_MAP.
+	* match.cc (gfc_free_namelist): Free namespace for OMP_LIST_MAP.
+	* openmp.cc (gfc_free_omp_clauses): Free namespace in namelist for
+	OMP_LIST_MAP.
+	(gfc_match_omp_clauses): Parse 'iterator' modifier for 'map' clause.
+	(resolve_omp_clauses): Resolve iterators for OMP_LIST_MAP.
+	* trans-openmp.cc: Include tree-ssa-loop-niter.h.
+	(gfc_trans_omp_array_section): Add iterator argument.  Replace
+	instances of iterator variables with the initial value when
+	computing biases.
+	(gfc_trans_omp_clauses): Handle iterators in OMP_LIST_MAP clauses.
+	Add expressions to iter_block rather than block.  Do not apply
+	iterators to firstprivate maps.  Pass iterator to
+	gfc_trans_omp_array_section.
+
+2025-05-15  Kwok Cheung Yeung  <kcyeung@baylibre.com>
+
+	* trans-openmp.cc (gfc_trans_omp_array_section): Use temporaries only
+	when translating OpenACC.
+
+2025-05-15  Kwok Cheung Yeung  <kcyeung@baylibre.com>
+
+	* gfortran.h (struct gfc_omp_namelist): Move udm field into a new
+	union u3.
+	* match.cc (gfc_free_omp_namelist): Change references to u2.udm to
+	u3.udm.
+	* module.cc (load_omp_udms): Likewise.
+	(write_omp_udm): Likewise.
+	* openmp.cc (gfc_match_motion_var_list): Likewise.
+	(gfc_match_omp_clauses): Likewise.
+	(resolve_omp_clauses): Likewise.
+	(gfc_omp_instantiate_mapper): Likewise.
+	* trans-openmp.cc (gfc_trans_omp_clauses): Likewise.
+	(gfc_find_nested_mappers): Likewise.
+
+2025-05-15  Chung-Lin Tang  <cltang@baylibre.com>
+	    Sandra Loosemore  <sloosemore@baylibre.com>
+
+	* cpp.cc (cpp_define_builtins): Updated _OPENACC to "201811"
+	for OpenACC 2.7.
+	* intrinsic.texi (OpenACC Module OPENACC): Adjust version
+	references to 2.7 from 2.6.
+
+2025-05-15  Chung-Lin Tang  <cltang@baylibre.com>
+
+	* openmp.cc (oacc_reduction_defined_type_p): New function.
+	(resolve_omp_clauses): Adjust OpenACC array reduction error case.
+	Adjust OMP_LIST_REDUCTION case. Use oacc_reduction_defined_type_p for
+	OpenACC.
+	* trans-openmp.cc (gfc_trans_omp_array_reduction_or_udr):
+	Add 'stmtblock_t *block', and 'bool openacc' parameters. Add array and
+	array section handling for openacc case. Adjust part of function to be
+	!openacc only.
+	(gfc_trans_omp_reduction_list):
+	Add 'stmtblock_t *block', and 'bool openacc' parameters, pass to calls
+	to gfc_trans_omp_array_reduction_or_udr.
+	(gfc_trans_omp_array_section): Adjust setting of OMP_CLAUSE_SIZE to only
+	OMP_CLAUSE_MAP clauses. Adjust calculations of decls and bias to use
+	temporary variables instead of tree expression inside clauses.
+	(gfc_trans_omp_clauses): Add 'block' and 'openacc' arguments to calls to
+	gfc_trans_omp_reduction_list.
+	(gfc_trans_omp_do): Pass 'op == EXEC_OACC_LOOP' as 'bool openacc'
+	parameter in call to gfc_trans_omp_clauses.
+
+2025-05-15  Chung-Lin Tang  <cltang@baylibre.com>
+
+	* trans-openmp.cc (gfc_trans_omp_array_section):
+	Set OMP_CLAUSE_MAP_POINTS_TO_READONLY on pointer clause.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+	    Andrew Stubbs   <ams@baylibre.com>
+	    Kwok Cheung Yeung  <kcyeung@baylibre.com>
+	    Sandra Loosemore  <sloosemore@baylibre.com>
+
+	* openmp.cc (gfc_match_motion_var_list): Add parsing for mapper
+	modifier.
+	(gfc_match_omp_clauses): Adjust error handling for changes to
+	gfc_match_motion_var_list.
+	(gfc_omp_instantiate_mapper): Add code argument to get proper
+	location for diagnostic.
+	(gfc_omp_instantiate_mappers): Adjust for above change.
+	* trans-openmp.cc (gfc_trans_omp_clauses): Use correct ref for update
+	operations.
+	(gfc_trans_omp_target_update): Instantiate mappers.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+	    Sandra Loosemore  <sloosemore@baylibre.com>
+
+	* trans-openmp.cc (gfc_omp_deep_map_kind_p): Handle
+	GOMP_MAP_{TO,FROM}_GRID, GOMP_MAP_GRID_{DIM,STRIDE}.
+	(gfc_trans_omp_arrayshape_type, gfc_omp_calculate_gcd,
+	gfc_desc_to_omp_noncontig_array, gfc_omp_contiguous_update_p): New
+	functions.
+	(gfc_trans_omp_clauses): Handle noncontiguous to/from clauses for OMP
+	"target update" directives.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+
+	* gfortran.h (gfc_omp_namelist_udm): Add MAPPER_ID field to store the
+	mapper name to use for lookup during resolution.
+	* match.cc (gfc_free_omp_namelist): Handle OMP_LIST_TO and
+	OMP_LIST_FROM when freeing mapper references.
+	* module.cc (load_omp_udms, write_omp_udm): Handle MAPPER_ID field.
+	* openmp.cc (gfc_match_omp_clauses): Handle explicitly-specified
+	'default' name.  Don't do mapper lookup here, but record mapper name if
+	the user specifies one.
+	(resolve_omp_clauses): Do mapper lookup here instead.  Report error for
+	missing named mapper.
+
+2025-05-15  Sandra Loosemore  <sloosemore@baylibre.com>
+
+	* gfortran.h (gfc_omp_instantiate_mappers): Adjust declaration
+	to return an error status instead of void.
+	* openmp.cc (gfc_gomp_instantiate_mappers): Likewise for the
+	the definition.
+	* trans-openmp.cc (gfc_trans_omp_target): Check return status of
+	call to gfc_omp_instantiate_mappers and insert an error_mark_node
+	on failure instead of continuing normal processing of the construct.
+	(gfc_trans_omp_target_data): Likewise.
+	(gfc_trans_omp_target_enter_data): Likewise.
+	(gfc_trans_omp_target_exit_data): Likewise.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+
+	* gfortran.h (gfc_omp_clauses): Add NS field.
+	* openmp.cc (verify_omp_clauses_symbol_dups,
+	omp_verify_map_motion_clauses): New functions, broken out of...
+	(resolve_omp_clauses): Here.  Record namespace containing clauses.
+	Call above functions.
+	(resolve_omp_mapper_clauses): New function, using helper functions
+	broken out above.
+	(gfc_resolve_omp_directive): Add NS parameter to resolve_omp_clauses
+	calls.
+	(gfc_omp_instantiate_mappers): Call resolve_omp_mapper_clauses if we
+	instantiate any mappers.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+
+	* gfortran.h (toc_directive): Move here.
+	(gfc_omp_instantiate_mappers, gfc_get_location): Add prototypes.
+	* openmp.cc (omp_split_map_op, omp_join_map_op, omp_map_decayed_kind,
+	omp_basic_map_kind_name, gfc_subst_replace, gfc_subst_prepend_ref,
+	gfc_subst_in_expr_1, gfc_subst_in_expr, gfc_subst_mapper_var): Move
+	here.
+	(gfc_omp_instantiate_mapper, gfc_omp_instantiate_mappers): Move here
+	and rename.
+	* trans-openmp.cc (toc_directive, omp_split_map_op, omp_join_map_op,
+	omp_map_decayed_kind, gfc_subst_replace, gfc_subst_prepend_ref,
+	gfc_subst_in_expr_1, gfc_subst_in_expr, gfc_subst_mapper_var,
+	gfc_trans_omp_instantiate_mapper, gfc_trans_omp_instantiate_mappers):
+	Remove from here.
+	(gfc_trans_omp_target, gfc_trans_omp_target_data,
+	gfc_trans_omp_target_enter_data, gfc_trans_omp_target_exit_data):
+	Rename calls to gfc_omp_instantiate_mappers.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+
+	* trans-openmp.cc (omp_split_map_op, omp_join_map_op,
+	omp_map_decayed_kind): New functions.
+	(gfc_trans_omp_instantiate_mapper): Add CD parameter.  Implement map
+	kind decay.
+	(gfc_trans_omp_instantiate_mappers): Add CD parameter.  Pass to above
+	function.
+	(gfc_trans_omp_target_data): Instantiate mappers for 'omp target data'.
+	(gfc_trans_omp_target_enter_data): Instantiate mappers for 'omp target
+	enter data'.
+	(gfc_trans_omp_target_exit_data): Instantiate mappers for 'omp target
+	exit data'.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+
+	* dump-parse-tree.cc (show_attr): Show omp_udm_artificial_var flag.
+	(show_omp_namelist): Support OMP_MAP_POINTER_ONLY and OMP_MAP_UNSET.
+	* f95-lang.cc (LANG_HOOKS_OMP_FINISH_MAPPER_CLAUSES,
+	LANG_HOOKS_OMP_EXTRACT_MAPPER_DIRECTIVE,
+	LANG_HOOKS_OMP_MAP_ARRAY_SECTION): Define language hooks.
+	* gfortran.h (gfc_statement): Add ST_OMP_DECLARE_MAPPER.
+	(symbol_attribute): Add omp_udm_artificial_var attribute.
+	(gfc_omp_map_op): Add OMP_MAP_POINTER_ONLY and OMP_MAP_UNSET.
+	(gfc_omp_namelist): Add udm pointer to u2 union.
+	(gfc_omp_udm): New struct.
+	(gfc_omp_namelist_udm): New struct.
+	(gfc_symtree): Add omp_udm pointer.
+	(gfc_namespace): Add omp_udm_root symtree. Add omp_udm_ns flag.
+	(gfc_free_omp_namelist): Update prototype.
+	(gfc_free_omp_udm, gfc_omp_udm_find, gfc_find_omp_udm,
+	gfc_resolve_omp_udms): Add prototypes.
+	* match.cc (gfc_free_omp_namelist): Change FREE_NS and FREE_ALIGN
+	parameters to LIST number, to handle freeing user-defined mapper
+	namelists safely.
+	* match.h (gfc_match_omp_declare_mapper): Add prototype.
+	* module.cc (ab_attribute): Add AB_OMP_DECLARE_MAPPER_VAR.
+	(attr_bits): Add OMP_DECLARE_MAPPER_VAR.
+	(mio_symbol_attribute): Read/write AB_OMP_DECLARE_MAPPER_VAR attribute.
+	Set referenced attr on read.
+	(omp_map_clause_ops, omp_map_cardinality): New arrays.
+	(load_omp_udms, check_omp_declare_mappers): New functions.
+	(read_module): Load and check OMP declare mappers.
+	(write_omp_udm, write_omp_udms): New functions.
+	(write_module): Write OMP declare mappers.
+	* openmp.cc (gfc_free_omp_clauses, gfc_match_omp_variable_list,
+	gfc_match_omp_to_link, gfc_match_omp_depend_sink,
+	gfc_match_omp_clause_reduction): Update calls to gfc_free_omp_namelist.
+	(gfc_free_omp_udm, gfc_find_omp_udm, gfc_omp_udm_find,
+	gfc_match_omp_declare_mapper): New functions.
+	(gfc_match_omp_clauses): Add DEFAULT_MAP_OP parameter. Update calls to
+	gfc_free_omp_namelist.  Add declare mapper support.
+	(resolve_omp_clauses): Add declare mapper support.  Update calls to
+	gfc_free_omp_namelist.
+	(gfc_resolve_omp_udm, gfc_resolve_omp_udms): New functions.
+	* parse.cc (decode_omp_directive): Add declare mapper support.
+	(case_omp_decl): Add ST_OMP_DECLARE_MAPPER case.
+	(gfc_ascii_statement): Add ST_OMP_DECLARE_MAPPER case.
+	* resolve.cc (resolve_types): Call gfc_resolve_omp_udms.
+	* st.cc (gfc_free_statement): Update call to gfc_free_omp_namelist.
+	* symbol.cc (free_omp_udm_tree): New function.
+	(gfc_free_namespace): Call above.
+	* trans-decl.cc (omp_declare_mapper_ns): New global.
+	(gfc_finish_var_decl, gfc_generate_function_code): Support declare
+	mappers.
+	(gfc_trans_deferred_vars): Ignore artificial declare-mapper vars.
+	* trans-openmp.cc (tree-iterator.h): Include.
+	(toc_directive): New enum.
+	(gfc_trans_omp_array_section): Change OP and OPENMP parameters to
+	toc_directive CD ('clause directive').
+	(gfc_omp_finish_mapper_clauses, gfc_omp_extract_mapper_directive,
+	gfc_omp_map_array_section): New functions.
+	(omp_clause_directive): New enum.
+	(gfc_trans_omp_clauses): Remove DECLARE_SIMD and OPENACC parameters.
+	Replace with toc_directive CD, defaulting to TOC_OPENMP.  Add declare
+	mapper support and OMP_MAP_POINTER_ONLY support.
+	(gfc_trans_omp_construct, gfc_trans_oacc_executable_directive,
+	gfc_trans_oacc_combined_directive): Update calls to
+	gfc_trans_omp_clauses.
+	(gfc_subst_replace, gfc_subst_prepend_ref): New variables.
+	(gfc_subst_in_expr_1, gfc_subst_in_expr, gfc_subst_mapper_var,
+	gfc_trans_omp_instantiate_mapper, gfc_trans_omp_instantiate_mappers,
+	gfc_record_mapper_bindings_code_fn, gfc_record_mapper_bindings_expr_fn,
+	gfc_find_nested_mappers, gfc_record_mapper_bindings): New functions.
+	(gfc_typespec * hash traits): New template.
+	(omp_declare_mapper_ns): Extern declaration.
+	(gfc_trans_omp_target): Call gfc_trans_omp_instantiate_mappers and
+	gfc_record_mapper_bindings. Update calls to gfc_trans_omp_clauses.
+	(gfc_trans_omp_declare_simd, gfc_trans_omp_declare_variant): Update
+	calls to gfc_trans_omp_clauses.
+	(gfc_trans_omp_mapper_name, gfc_trans_omp_declare_mapper,
+	gfc_trans_omp_declare_mappers): New functions.
+	* trans-stmt.h (gfc_trans_omp_declare_mappers): Add prototype.
+	* trans.h (gfc_omp_finish_mapper_clauses,
+	gfc_omp_extract_mapper_directive, gfc_omp_map_array_section): Add
+	prototypes.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+
+	* parse.cc (tree.h, fold-const.h, tree-hash-traits.h): Add includes
+	(for additions to omp-general.h).
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+
+	* trans-openmp.cc (gfc_omp_finish_clause): Treat implicitly-mapped
+	assumed-size arrays as zero-sized for OpenACC, rather than an error.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+	    Paul-Antoine Arras  <parras@baylibre.com>
+	    Sandra Loosemore  <sandra@baylibre.com>
+
+	* trans-openmp.cc (gfc_omp_finish_clause): Handle "declare create" for
+	scalar allocatable variables.
+	(gfc_trans_omp_clauses): Don't include allocatable vars in synthetic
+	"acc data" region created for "declare create" variables.  Mark such
+	variables with the "oacc declare create" attribute instead.  Don't
+	create ALWAYS_POINTER mapping for target-to-host updates of declare
+	create variables.
+	(gfc_trans_oacc_declare): Handle empty clause list.
+
+2025-05-15  Tobias Burnus  <tobias@codesourcery.com>
+
+	* openmp.cc (resolve_omp_clauses): Apply to OpenMP target update.
+
+2025-05-15  Tobias Burnus  <tobias@codesourcery.com>
+
+	* trans-array.cc (gfc_conv_array_initializer): Set PURPOSE
+	when building constructor for get_initialized_tmp_var.
+	* trans-openmp.cc (gfc_trans_omp_clauses): Handle uses_allocators.
+	* types.def (BT_FN_VOID_PTRMODE, BT_FN_PTRMODE_PTRMODE_INT_PTR): Add.
+
+2025-05-15  Cesar Philippidis  <cesar@codesourcery.com>
+	    Julian Brown   <julian@codesourcery.com>
+	    Kwok Cheung Yeung   <kcy@codesourcery.com>
+	    Tobias Burnus  <tobias@codesourcery.com>
+	    Thomas Schwinge  <thomas@codesourcery.com>
+	    Paul-Antoine Arras  <parras@baylibre.com>
+
+	* gfortran.h (enum gfc_omp_map_op): Add OMP_MAP_DECLARE_ALLOCATE,
+	OMP_MAP_DECLARE_DEALLOCATE.
+	(gfc_omp_clauses): Add update_allocatable.
+	* trans-array.cc (gfc_array_allocate): Call
+	gfc_trans_oacc_declare_allocate for decls that have oacc_declare_create
+	attribute set.
+	* trans-decl.cc (find_module_oacc_declare_clauses): Relax
+	oacc_declare_create to OMP_MAP_ALLOC, and oacc_declare_copyin to
+	OMP_MAP_TO, in order to	match OpenACC 2.5 semantics.
+	* trans-openmp.cc (gfc_omp_check_optional_argument): Handle non-decl
+	case.
+	(gfc_trans_omp_clauses): Use GOMP_MAP_ALWAYS_POINTER (for update
+	directive) or GOMP_MAP_FIRSTPRIVATE_POINTER (otherwise) for
+	allocatable scalar decls.  Handle OMP_MAP_DECLARE_{ALLOCATE,DEALLOCATE}
+	clauses.
+	(gfc_trans_oacc_executable_directive): Use GOMP_MAP_ALWAYS_POINTER
+	for allocatable scalar data clauses inside acc update directives.
+	(gfc_trans_oacc_declare_allocate): New function.
+	* trans-stmt.cc (gfc_trans_allocate): Call
+	gfc_trans_oacc_declare_allocate for decls with oacc_declare_create
+	attribute set.
+	(gfc_trans_deallocate): Likewise.
+	* trans.h (gfc_trans_oacc_declare_allocate): Declare.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+	    Cesar Philippidis  <cesar@codesourcery.com>
+	    Nathan Sidwell  <nathan@acm.org>
+	    Kwok Cheung Yeung   <kcy@codesourcery.com>
+
+	* trans-openmp.cc (gfc_omp_clause_copy_ctor): Permit reductions.
+
+2025-05-15  Cesar Philippidis  <cesar@codesourcery.com>
+	    James Norris   <jnorris@codesourcery.com>
+	    Julian Brown  <julian@codesourcery.com>
+	    Tobias Burnus  <tobias@codesourcery.com>
+	    Thomas Schwinge  <tschwinge@baylibre.com>
+
+	* openmp.cc (gfc_match_omp_map_clause): Re-write handling of the
+	deviceptr clause.  Add new common_blocks argument.  Propagate it to
+	gfc_match_omp_variable_list.
+	(gfc_match_omp_clauses): Update calls to gfc_match_omp_map_clauses.
+	(resolve_positive_int_expr): Promote the warning to an error.
+	(check_array_not_assumed): Remove pointer check.
+	(resolve_oacc_nested_loops): Error on do concurrent loops.
+	* trans-openmp.cc (gfc_omp_finish_clause): Don't create pointer data
+	mappings for deviceptr clauses.
+	(gfc_trans_omp_clauses): Likewise.
+
+2025-05-15  Chung-Lin Tang  <cltang@codesourcery.com>
+	    Kwok Cheung Yeung  <kcy@codesourcery.com>
+	    Paul-Antoine Arras  <parras@baylibre.com>
+
+	PR other/76739
+	* f95-lang.cc (DEF_FUNCTION_TYPE_VAR_5): New symbol.
+	* types.def (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_VAR): New type.
\ No newline at end of file
diff --git a/gcc/testsuite/ChangeLog.omp b/gcc/testsuite/ChangeLog.omp
new file mode 100644
index 000000000000..a2bb7f052bf1
--- /dev/null
+++ b/gcc/testsuite/ChangeLog.omp
@@ -0,0 +1,435 @@
+2025-05-15  Sandra Loosemore  <sloosemore@baylibre.com>
+	    Tobias Burnus  <tburnus@baylibre.com>
+
+	* c-c++-common/gomp/adjust-args-10.c: Ignore the new sorry since the
+	lack of proper diagnostic is already xfail'ed.
+	* g++.dg/gomp/adjust-args-1.C: Adjust output patterns.
+	* g++.dg/gomp/adjust-args-17.C: New.
+	* gcc.dg/gomp/adjust-args-3.c: New.
+	* gfortran.dg/gomp/adjust-args-14.f90: Don't expect this to fail now.
+
+2025-05-15  waffl3x  <waffl3x@baylibre.com>
+
+	PR c++/119659
+	PR c++/118859
+	PR c++/119601
+	PR c++/119602
+	PR c++/119775
+	* c-c++-common/gomp/pr118579.c: Change error text.
+	* g++.dg/gomp/adjust-args-1.C: Fix error text, add dg-* directives.
+	* g++.dg/gomp/adjust-args-2.C: Add dg-* directives.
+	* g++.dg/gomp/append-args-1.C: Add dg-* directives.
+	* gcc.dg/gomp/adjust-args-1.c: Fix error text, add dg-* directives.
+	* gcc.dg/gomp/append-args-1.c: Fix error text, add dg-* directives.
+	* c-c++-common/gomp/adjust-args-7.c: New test.
+	* c-c++-common/gomp/adjust-args-8.c: New test.
+	* c-c++-common/gomp/adjust-args-9.c: New test.
+	* c-c++-common/gomp/adjust-args-10.c: New test.
+	* c-c++-common/gomp/adjust-args-11.c: New test.
+	* c-c++-common/gomp/adjust-args-12.c: New test.
+	* c-c++-common/gomp/adjust-args-13.c: New test.
+	* c-c++-common/gomp/adjust-args-14.c: New test.
+	* c-c++-common/gomp/adjust-args-15.c: New test.
+	* g++.dg/gomp/adjust-args-5.C: New test.
+	* g++.dg/gomp/adjust-args-6.C: New test.
+	* g++.dg/gomp/adjust-args-7.C: New test.
+	* g++.dg/gomp/adjust-args-8.C: New test.
+	* g++.dg/gomp/adjust-args-9.C: New test.
+	* g++.dg/gomp/adjust-args-10.C: New test.
+	* g++.dg/gomp/adjust-args-11.C: New test.
+	* g++.dg/gomp/adjust-args-12.C: New test.
+	* g++.dg/gomp/adjust-args-13.C: New test.
+	* g++.dg/gomp/adjust-args-14.C: New test.
+	* g++.dg/gomp/adjust-args-15.C: New test.
+	* g++.dg/gomp/adjust-args-16.C: New test.
+	* g++.dg/gomp/append-args-9.C: New test.
+	* g++.dg/gomp/append-args-10.C: New test.
+	* g++.dg/gomp/append-args-11.C: New test.
+	* g++.dg/gomp/append-args-omp-interop-t.h: New header.
+
+2025-05-15  Kwok Cheung Yeung  <kcyeung@baylibre.com>
+
+	* c-c++-common/gomp/target-map-iterators-3.c: Update expected Gimple
+	output.
+	* c-c++-common/gomp/target-map-iterators-5.c: New.
+	* c-c++-common/gomp/target-update-iterators-3.c: Update expected
+	Gimple output.
+	* gfortran.dg/gomp/target-map-iterators-3.f90: Likewise.
+	* gfortran.dg/gomp/target-map-iterators-5.f90: New.
+	* gfortran.dg/gomp/target-update-iterators-3.f90: Update expected
+	Gimple output.
+
+2025-05-15  Kwok Cheung Yeung  <kcyeung@baylibre.com>
+	    Andrew Stubbs   <ams@baylibre.com>
+
+	* gfortran.dg/gomp/target-update-iterators-1.f90: New.
+	* gfortran.dg/gomp/target-update-iterators-2.f90: New.
+	* gfortran.dg/gomp/target-update-iterators-3.f90: New.
+
+2025-05-15  Kwok Cheung Yeung  <kcyeung@baylibre.com>
+	    Andrew Stubbs  <ams@baylibre.com>
+
+	* gfortran.dg/gomp/target-map-iterators-1.f90: New.
+	* gfortran.dg/gomp/target-map-iterators-2.f90: New.
+	* gfortran.dg/gomp/target-map-iterators-3.f90: New.
+	* gfortran.dg/gomp/target-map-iterators-4.f90: New.
+
+2025-05-15  Kwok Cheung Yeung  <kcyeung@baylibre.com>
+
+	* gfortran.dg/gomp/target-enter-exit-data.f90: Revert expected tree
+	dumps.
+
+2025-05-15  Kwok Cheung Yeung  <kcyeung@baylibre.com>
+
+	* 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.
+
+2025-05-15  Kwok Cheung Yeung  <kcyeung@baylibre.com>
+	    Andrew Stubbs  <ams@baylibre.com>
+
+	* c-c++-common/gomp/map-6.c (foo): Amend expected error message.
+	* c-c++-common/gomp/target-map-iterators-1.c: New.
+	* c-c++-common/gomp/target-map-iterators-2.c: New.
+	* c-c++-common/gomp/target-map-iterators-3.c: New.
+	* c-c++-common/gomp/target-map-iterators-4.c: New.
+
+2025-05-15  Chung-Lin Tang  <cltang@baylibre.com>
+	    Sandra Loosemore  <sloosemore@baylibre.com>
+
+	* c-c++-common/cpp/openacc-define-3.c: Adjust test.
+	* gfortran.dg/openacc-define-3.f90: Adjust test.
+
+2025-05-15  Chung-Lin Tang  <cltang@baylibre.com>
+
+	* c-c++-common/goacc/readonly-2.c: Adjust test.
+	* c-c++-common/goacc/reduction-9.c: Adjust test.
+	* c-c++-common/goacc/reduction-11.c: New test.
+	* c-c++-common/goacc/reduction-12.c: New test.
+	* c-c++-common/goacc/reduction-13.c: New test.
+	* c-c++-common/goacc/reduction-14.c: New test.
+	* c-c++-common/goacc/reduction-15.c: New test.
+	* c-c++-common/goacc/reduction-16.c: New test.
+	* g++.dg/goacc/reductions-1.C: Adjust test.
+	* gfortran.dg/goacc/array-reduction.f90: Adjust test.
+	* gfortran.dg/goacc/enter-exit-data-2.f90: Adjust test.
+	* gfortran.dg/goacc/finalize-1.f: Adjust test.
+	* gfortran.dg/goacc/kernels-decompose-1.f95: Adjust test.
+	* gfortran.dg/goacc/pr70828.f90: Adjust test.
+	* gfortran.dg/goacc/reduction.f95: Adjust test.
+	* gfortran.dg/gomp/target-enter-exit-data.f90: Adjust test.
+
+2025-05-15  Sandra Loosemore  <sloosemore@baylibre.com>
+
+	* c-c++-common/gomp/delim-declare-variant-1.c: New.
+	* c-c++-common/gomp/delim-declare-variant-2.c: New.
+	* c-c++-common/gomp/delim-declare-variant-3.c: New.
+	* c-c++-common/gomp/delim-declare-variant-4.c: New.
+	* c-c++-common/gomp/delim-declare-variant-5.c: New.
+	* c-c++-common/gomp/delim-declare-variant-6.c: New.
+	* c-c++-common/gomp/delim-declare-variant-7.c: New.
+
+2025-05-15  Sandra Loosemore  <sloosemore@baylibre.com>
+	    Julian Brown  <julian@codesourcery.com>
+	    waffl3x  <waffl3x@baylibre.com>
+
+	* g++.dg/gomp/delim-declare-variant-1.C: New.
+	* g++.dg/gomp/delim-declare-variant-2.C: New.
+	* g++.dg/gomp/delim-declare-variant-3.C: New.
+	* g++.dg/gomp/delim-declare-variant-4.C: New.
+	* g++.dg/gomp/delim-declare-variant-5.C: New.
+	* g++.dg/gomp/delim-declare-variant-6.C: New.
+	* g++.dg/gomp/delim-declare-variant-7.C: New.
+	* g++.dg/gomp/delim-declare-variant-40.C: New.
+	* g++.dg/gomp/delim-declare-variant-41.C: New.
+	* g++.dg/gomp/delim-declare-variant-50.C: New.
+	* g++.dg/gomp/delim-declare-variant-51.C: New.
+	* g++.dg/gomp/delim-declare-variant-52.C: New.
+	* g++.dg/gomp/delim-declare-variant-70.C: New.
+	* g++.dg/gomp/delim-declare-variant-71.C: New.
+
+2025-05-15  Chung-Lin Tang  <cltang@baylibre.com>
+
+	* c-c++-common/goacc/readonly-1.c: Adjust testcase.
+	* c-c++-common/goacc/readonly-2.c: New testcase.
+	* gfortran.dg/goacc/readonly-1.f90: Adjust testcase.
+	* gfortran.dg/pr67170.f90: Likewise.
+
+2025-05-15  Sandra Loosemore  <sloosemore@baylibre.com>
+
+	* c-c++-common/gomp/uses_allocators-1.c: Adjust for this testcase
+	no longer failing with "sorry" in C++.
+	* g++.dg/gomp/allocate-15.C: Disable scan-assembler tests since
+	compilation fails with "sorry" before getting that far.
+	* g++.dg/gomp/allocate-16.C: Likewise.
+
+2025-05-15  waffl3x  <waffl3x@baylibre.com>
+	    Tobias Burnus  <tobias@codesourcery.com>
+
+	* c-c++-common/gomp/allocate-allocator-handle.h: New header.
+	* c-c++-common/gomp/allocate-5.c: Remove dg-messages for 'sorry',
+	add dg-error for c++.
+	* c-c++-common/gomp/allocate-9.c: Include header, remove dg-messages
+	for 'sorry', add dg-notes for c++, minor refactoring.
+	* c-c++-common/gomp/allocate-10.c: Enable for c++.
+	* c-c++-common/gomp/allocate-11.c: Enable for c++, disable warning.
+	* c-c++-common/gomp/allocate-12.c: Enable for c++, add cases.
+	* c-c++-common/gomp/allocate-14.c: Enable for c++.
+	* c-c++-common/gomp/allocate-15.c: Enable for c++.
+	* c-c++-common/gomp/allocate-16.c: Enable for c++.
+	* c-c++-common/gomp/allocate-17.c: Remove dg-message for 'sorry'.
+	* c-c++-common/gomp/allocate-18.c: Include header, remove dg-message
+	for 'sorry'.
+	* c-c++-common/gomp/allocate-19.c: Remove xfails for c++, remove
+	dg-messages for 'sorry'.
+	* c-c++-common/gomp/allocate-20.c: New test.
+	* c-c++-common/gomp/directive-1.c: Remove dg-message for 'sorry'.
+	* g++.dg/gomp/allocate-allocator-handle.h: New header.
+	* g++.dg/gomp/allocate-5.C: New test.
+	* g++.dg/gomp/allocate-6.C: New test.
+	* g++.dg/gomp/allocate-7.C: New test.
+	* g++.dg/gomp/allocate-8.C: New test.
+	* g++.dg/gomp/allocate-9.C: New test.
+	* g++.dg/gomp/allocate-10.C: New test.
+	* g++.dg/gomp/allocate-11.C: New test.
+	* g++.dg/gomp/allocate-12.C: New test.
+	* g++.dg/gomp/allocate-13.C: New test.
+	* g++.dg/gomp/allocate-14.C: New test.
+	* g++.dg/gomp/allocate-15.C: New test.
+	* g++.dg/gomp/allocate-16.C: New test.
+	* g++.dg/gomp/allocate-17.C: New test.
+	* g++.dg/gomp/allocate-18.C: New test.
+	* g++.dg/gomp/allocate-19.C: New test.
+	* g++.dg/gomp/allocate-20.C: New test.
+	* g++.dg/gomp/allocate-21.C: New test.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+	    Andrew Stubbs   <ams@baylibre.com>
+	    Kwok Cheung Yeung  <kcyeung@baylibre.com>
+	    Sandra Loosemore  <sloosemore@baylibre.com>
+
+	* c-c++-common/gomp/declare-mapper-17.c: New test.
+	* c-c++-common/gomp/declare-mapper-19.c: New test.
+	* gfortran.dg/gomp/declare-mapper-24.f90: New test.
+	* gfortran.dg/gomp/declare-mapper-26.f90: Uncomment 'target update'
+	part of test.
+	* gfortran.dg/gomp/declare-mapper-27.f90: New test.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+	    Sandra Loosemore  <sloosemore@baylibre.com>
+
+	* gfortran.dg/gomp/noncontig-updates-1.f90: New test.
+	* gfortran.dg/gomp/noncontig-updates-2.f90: New test.
+	* gfortran.dg/gomp/noncontig-updates-3.f90: New test.
+	* gfortran.dg/gomp/noncontig-updates-4.f90: New test.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+
+	* gcc.dg/gomp/bad-array-shaping-c-1.c: New test.
+	* gcc.dg/gomp/bad-array-shaping-c-2.c: New test.
+	* gcc.dg/gomp/bad-array-shaping-c-3.c: New test.
+	* gcc.dg/gomp/bad-array-shaping-c-4.c: New test.
+	* gcc.dg/gomp/bad-array-shaping-c-5.c: New test.
+	* gcc.dg/gomp/bad-array-shaping-c-6.c: New test.
+	* gcc.dg/gomp/bad-array-shaping-c-7.c: New test.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+
+	* g++.dg/gomp/array-shaping-1.C: New test.
+	* g++.dg/gomp/array-shaping-2.C: New test.
+	* g++.dg/gomp/bad-array-shaping-1.C: New test.
+	* g++.dg/gomp/bad-array-shaping-2.C: New test.
+	* g++.dg/gomp/bad-array-shaping-3.C: New test.
+	* g++.dg/gomp/bad-array-shaping-4.C: New test.
+	* g++.dg/gomp/bad-array-shaping-5.C: New test.
+	* g++.dg/gomp/bad-array-shaping-6.C: New test.
+	* g++.dg/gomp/bad-array-shaping-7.C: New test.
+	* g++.dg/gomp/bad-array-shaping-8.C: New test.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+
+	* gfortran.dg/gomp/declare-mapper-31.f90: New test.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+
+	* gfortran.dg/gomp/declare-mapper-26.f90: New test.
+	* gfortran.dg/gomp/declare-mapper-29.f90: New test.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+
+	* c-c++-common/gomp/declare-mapper-15.c: New test.
+	* c-c++-common/gomp/declare-mapper-16.c: New test.
+	* g++.dg/gomp/declare-mapper-1.C: Adjust expected scan output.
+	* gfortran.dg/gomp/declare-mapper-22.f90: New test.
+	* gfortran.dg/gomp/declare-mapper-23.f90: New test.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+
+	* gfortran.dg/gomp/declare-mapper-1.f90: New test.
+	* gfortran.dg/gomp/declare-mapper-5.f90: New test.
+	* gfortran.dg/gomp/declare-mapper-14.f90: New test.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+
+	* c-c++-common/gomp/declare-mapper-3.c: Enable for C.
+	* c-c++-common/gomp/declare-mapper-4.c: Likewise.
+	* c-c++-common/gomp/declare-mapper-5.c: Likewise.
+	* c-c++-common/gomp/declare-mapper-6.c: Likewise.
+	* c-c++-common/gomp/declare-mapper-7.c: Likewise.
+	* c-c++-common/gomp/declare-mapper-8.c: Likewise.
+	* c-c++-common/gomp/declare-mapper-9.c: Likewise.
+	* c-c++-common/gomp/declare-mapper-12.c: Enable for C.
+	* gcc.dg/gomp/declare-mapper-10.c: New test.
+	* gcc.dg/gomp/declare-mapper-11.c: New test.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+
+	* c-c++-common/gomp/map-6.c: Update error scan output.
+	* c-c++-common/gomp/declare-mapper-3.c: New test (only enabled for C++
+	for now).
+	* c-c++-common/gomp/declare-mapper-4.c: Likewise.
+	* c-c++-common/gomp/declare-mapper-5.c: Likewise.
+	* c-c++-common/gomp/declare-mapper-6.c: Likewise.
+	* c-c++-common/gomp/declare-mapper-7.c: Likewise.
+	* c-c++-common/gomp/declare-mapper-8.c: Likewise.
+	* c-c++-common/gomp/declare-mapper-9.c: Likewise.
+	* c-c++-common/gomp/declare-mapper-12.c: Likewise.
+	* g++.dg/gomp/declare-mapper-1.C: New test.
+	* g++.dg/gomp/declare-mapper-2.C: New test.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+	    Thomas Schwinge  <tschwinge@baylibre.com>
+	    Sandra Loosemore  <sloosemore@baylibre.com>
+
+	* c-c++-common/goacc/combined-reduction.c: Adjust scan output.
+	* c-c++-common/goacc/implied-copy-1.c: Likewise.
+	* c-c++-common/goacc/reduction-1.c: Adjust patterns.
+	* c-c++-common/goacc/reduction-2.c: Likewise.
+	* c-c++-common/goacc/reduction-3.c: Likewise.
+	* c-c++-common/goacc/reduction-4.c: Likewise.
+	* c-c++-common/goacc/reduction-10.c: Likewise.
+	* gfortran.dg/goacc/common-block-3.f90: Likewise.
+	* gfortran.dg/goacc/implied-copy-1.f90: Likewise.
+	* gfortran.dg/goacc/loop-tree-1.f90: Likewise.
+	* gfortran.dg/goacc/private-explicit-kernels-1.f95: Likewise.
+	* gfortran.dg/goacc/private-predetermined-kernels-1.f95: Likewise.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+
+	* gfortran.dg/goacc/assumed-size.f90: Don't expect error.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+	    Paul-Antoine Arras  <parras@baylibre.com>
+	    Sandra Loosemore  <sandra@baylibre.com>
+
+	* c-c++-common/goacc/readonly-1.c: Adjust patterns.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+
+	* c-c++-common/goacc/acc-data-chain.c: New test.
+	* gfortran.dg/goacc/pr70828.f90: Likewise.
+	* gfortran.dg/goacc/assumed-size.f90: Likewise.
+
+2025-05-15  Tobias Burnus  <tobias@codesourcery.com>
+
+	* gfortran.dg/gomp/allocate-1.f90: Add uses_allocators.
+	* gfortran.dg/gomp/scope-6.f90: Update dg-scan-tree-dump.
+	* c-c++-common/gomp/uses_allocators-1.c: New test.
+	* c-c++-common/gomp/uses_allocators-2.c: New test.
+	* gfortran.dg/gomp/uses_allocators-1.f90: New test.
+
+2025-05-15  Tobias Burnus  <tobias@codesourcery.com>
+	    Sandra Loosemore  <sloosemore@baylibre.com>
+
+	* c-c++-common/goacc/kernels-decompose-pr103836-1-2.c: Adjust xfails.
+	* c-c++-common/goacc/kernels-decompose-pr103836-1-3.c: Likewise.
+	* c-c++-common/goacc/kernels-decompose-pr103836-1-4.c: Likewise.
+	* c-c++-common/goacc/kernels-decompose-pr104061-1-2.c: Likewise.
+	* c-c++-common/goacc/kernels-decompose-pr104061-1-3.c: Likewise.
+	* c-c++-common/goacc/kernels-decompose-pr104061-1-4.c: Likewise.
+
+2025-05-15  Chung-Lin Tang  <cltang@codesourcery.com>
+	    Paul-Antoine Arras  <parras@baylibre.com>
+
+	* c-c++-common/gomp/clauses-2.c: Adjust testcase.
+	* c-c++-common/gomp/map-6.c: Adjust testcase.
+
+2025-05-15  Cesar Philippidis  <cesar@codesourcery.com>
+	    Julian Brown   <julian@codesourcery.com>
+	    Kwok Cheung Yeung   <kcy@codesourcery.com>
+	    Tobias Burnus  <tobias@codesourcery.com>
+	    Thomas Schwinge  <thomas@codesourcery.com>
+	    Paul-Antoine Arras  <parras@baylibre.com>
+
+	* gfortran.dg/goacc/declare-allocatable-1.f90: New test.
+	* gfortran.dg/goacc/declare-3.f95: Adjust expected dump output.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+	    Tobias Burnus  <tobias@codesourcery.com>
+	    Sandra Loosemore  <sandra@baylibre.com>
+
+	* gfortran.dg/goacc/privatization-1-compute-loop.f90: Add xfails.
+	* gfortran.dg/goacc/privatization-1-compute.f90: Likewise.
+
+2025-05-15  Cesar Philippidis  <cesar@codesourcery.com>
+	    Julian Brown  <julian@codesourcery.com>
+	    Sandra Loosemore  <sloosemore@baylibre.com>
+
+	* gfortran.dg/goacc/modules.f95: Remove xfail on bogus warnings.
+
+2025-05-15  Cesar Philippidis  <cesar@codesourcery.com>
+	    Chung-Lin Tang   <cltang@codesourcery.com>
+
+	* c-c++-common/goacc/reduction-10.c: New test.
+
+2025-05-15  Cesar Philippidis  <cesar@codesourcery.com>
+
+	* c-c++-common/goacc/loop-auto-1.c: Adjust test case to conform to
+	the new behavior of the auto clause in OpenACC 2.5.
+	* c-c++-common/goacc/loop-auto-2.c: Likewise.
+	* gcc.dg/goacc/loop-processing-1.c: Likewise.
+	* c-c++-common/goacc/loop-auto-3.c: New test.
+	* gfortran.dg/goacc/loop-auto-1.f90: New test.
+
+2025-05-15  Cesar Philippidis  <cesar@codesourcery.com>
+	    James Norris   <jnorris@codesourcery.com>
+	    Tom de Vries   <tom@codesourcery.com>
+	    Julian Brown  <julian@codesourcery.com>
+	    Tobias Burnus  <tburnus@baylibre.com>
+
+	* g++.dg/goacc/loop-1.c: New test.
+	* g++.dg/goacc/loop-2.c: New test.
+	* g++.dg/goacc/loop-3.c: New test.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+	    Cesar Philippidis   <cesar@codesourcery.com>
+	    Nathan Sidwell   <nathan@acm.org>
+
+	* c-c++-common/goacc/reduction-9.c: New.
+	* g++.dg/goacc/reductions-1.C: New.
+	* gcc.dg/goacc/loop-processing-1.c: Update.
+
+2025-05-15  Cesar Philippidis  <cesar@codesourcery.com>
+	    James Norris   <jnorris@codesourcery.com>
+	    Julian Brown  <julian@codesourcery.com>
+	    Tobias Burnus  <tobias@codesourcery.com>
+	    Thomas Schwinge  <tschwinge@baylibre.com>
+
+	* c-c++-common/goacc/deviceptr-4.c: Update.
+	* gfortran.dg/goacc/loop-2-kernels-tile.f95: Update.
+	* gfortran.dg/goacc/loop-2-parallel-tile.f95: Update.
+	* gfortran.dg/goacc/loop-2-serial-tile.f95: Update.
+	* gfortran.dg/goacc/sie.f95: Update.
+	* gfortran.dg/goacc/tile-1.f90: Update.
+	* gfortran.dg/gomp/num-teams-2.f90: Update.
+	* gfortran.dg/gomp/pr67500.f90: Update.
+	* gfortran.dg/gomp/pr77516.f90: Update.
+
+2025-05-15  Chung-Lin Tang  <cltang@codesourcery.com>
+	    Kwok Cheung Yeung  <kcy@codesourcery.com>
+	    Paul-Antoine Arras  <parras@baylibre.com>
+
+	PR other/76739
+	* c-c++-common/goacc/data-clause-1.c (foo): Remove expected message.
+	* c-c++-common/goacc/noncontig_array-1.c: New test.
+	* g++.dg/goacc/data-clause-1.C (foo): Remove expected message.
\ No newline at end of file
diff --git a/include/ChangeLog.omp b/include/ChangeLog.omp
new file mode 100644
index 000000000000..74413c262e62
--- /dev/null
+++ b/include/ChangeLog.omp
@@ -0,0 +1,45 @@
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+
+	* gomp-constants.h (gomp_map_kind): Add GOMP_MAP_TO_GRID,
+	GOMP_MAP_FROM_GRID, GOMP_MAP_GRID_DIM, GOMP_MAP_GRID_STRIDE map kinds.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+
+	* gomp-constants.h (gomp_map_kind): Add GOMP_MAP_MAPPING_GROUP.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+
+	* gomp-constants.h (gomp_map_kind): Add GOMP_MAP_UNSET,
+	GOMP_MAP_PUSH_MAPPER_NAME, GOMP_MAP_POP_MAPPER_NAME artificial mapping
+	clause types.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+	    Thomas Schwinge  <tschwinge@baylibre.com>
+	    Sandra Loosemore  <sloosemore@baylibre.com>
+
+	* gomp-constants.h (GOMP_MAP_NONCONTIG_ARRAY_P): Tweak condition.
+
+2025-05-15  Cesar Philippidis  <cesar@codesourcery.com>
+	    Julian Brown   <julian@codesourcery.com>
+	    Kwok Cheung Yeung   <kcy@codesourcery.com>
+	    Tobias Burnus  <tobias@codesourcery.com>
+	    Thomas Schwinge  <thomas@codesourcery.com>
+	    Paul-Antoine Arras  <parras@baylibre.com>
+
+	* gomp-constants.h (enum gomp_map_kind): Define
+	GOMP_MAP_DECLARE_{ALLOCATE,DEALLOCATE} and GOMP_MAP_FLAG_SPECIAL_4.
+
+2025-05-15  Chung-Lin Tang  <cltang@codesourcery.com>
+	    Kwok Cheung Yeung  <kcy@codesourcery.com>
+	    Paul-Antoine Arras  <parras@baylibre.com>
+
+	PR other/76739
+	* gomp-constants.h (GOMP_MAP_FLAG_SPECIAL_3): Define.
+	(enum gomp_map_kind): Add GOMP_MAP_NONCONTIG_ARRAY,
+	GOMP_MAP_NONCONTIG_ARRAY_TO, GOMP_MAP_NONCONTIG_ARRAY_FROM,
+	GOMP_MAP_NONCONTIG_ARRAY_TOFROM, GOMP_MAP_NONCONTIG_ARRAY_FORCE_TO,
+	GOMP_MAP_NONCONTIG_ARRAY_FORCE_FROM,
+	GOMP_MAP_NONCONTIG_ARRAY_FORCE_TOFROM,
+	GOMP_MAP_NONCONTIG_ARRAY_ALLOC, GOMP_MAP_NONCONTIG_ARRAY_FORCE_ALLOC,
+	GOMP_MAP_NONCONTIG_ARRAY_FORCE_PRESENT.
+	(GOMP_MAP_NONCONTIG_ARRAY_P): Define.
\ No newline at end of file
diff --git a/libgcc/ChangeLog.omp b/libgcc/ChangeLog.omp
new file mode 100644
index 000000000000..45b4742f9264
--- /dev/null
+++ b/libgcc/ChangeLog.omp
@@ -0,0 +1,10 @@
+2025-05-15  Thomas Schwinge  <tschwinge@baylibre.com>
+
+	Backported from master:
+	2025-04-25  Thomas Schwinge  <tschwinge@baylibre.com>
+
+	PR target/119853
+	PR target/119854
+	* config/gcn/crt0.c (_fini_array): Call
+	'__GCC_offload___cxa_finalize'.
+	* config/nvptx/gbl-ctors.c (__static_do_global_dtors): Likewise.
\ No newline at end of file
diff --git a/libgomp/ChangeLog.omp b/libgomp/ChangeLog.omp
new file mode 100644
index 000000000000..e06fdeebc92c
--- /dev/null
+++ b/libgomp/ChangeLog.omp
@@ -0,0 +1,847 @@
+2025-05-15  Tobias Burnus  <tburnus@baylibre.com>
+
+	Backported from master:
+	2025-05-09  Tobias Burnus  <tburnus@baylibre.com>
+
+	* testsuite/libgomp.c/interop-cuda-full.c: Use 'link' instead
+	of 'run' when the default device is "! offload_device_nvptx".
+	* testsuite/libgomp.c/interop-cuda-libonly.c: Likewise.
+	* testsuite/libgomp.c/interop-hip-nvidia-full.c: Likewise.
+	* testsuite/libgomp.c/interop-hip-nvidia-no-headers.c: Likewise.
+	* testsuite/libgomp.c/interop-hip-nvidia-no-hip-header.c: Likewise.
+	* testsuite/libgomp.fortran/interop-hip-nvidia-full.F90: Likewise.
+	* testsuite/libgomp.fortran/interop-hip-nvidia-no-module.F90: Likewise.
+	* testsuite/libgomp.c/interop-hip-amd-full.c: Use 'link' instead
+	of 'run' when the default device is "! offload_device_gcn".
+	* testsuite/libgomp.c/interop-hip-amd-no-hip-header.c: Likewise.
+	* testsuite/libgomp.fortran/interop-hip-amd-full.F90: Likewise.
+	* testsuite/libgomp.fortran/interop-hip-amd-no-module.F90: Likewise.
+
+2025-05-15  Sandra Loosemore  <sloosemore@baylibre.com>
+	    Tobias Burnus  <tburnus@baylibre.com>
+
+	* libgomp.texi: Mark need_device_addr as supported.
+	* testsuite/libgomp.c++/need-device-ptr.C: New.
+	* testsuite/libgomp.c-c++-common/dispatch-3.c: New.
+	* testsuite/libgomp.fortran/adjust-args-array-descriptor.f90: New.
+	* testsuite/libgomp.fortran/need-device-ptr.f90: New.
+
+2025-05-15  waffl3x  <waffl3x@baylibre.com>
+
+	PR c++/119659
+	PR c++/118859
+	PR c++/119601
+	PR c++/119602
+	PR c++/119775
+	* libgomp.texi: Set 'adjust args' variadic arguments support to Y.
+
+2025-05-15  Andrew Stubbs  <ams@baylibre.com>
+
+	Backported from master:
+	2025-04-25  Andrew Stubbs  <ams@baylibre.com>
+
+	* testsuite/libgomp.c/interop-hsa.c: New test.
+
+2025-05-15  Thomas Schwinge  <tschwinge@baylibre.com>
+
+	Backported from master:
+	2025-04-25  Thomas Schwinge  <tschwinge@baylibre.com>
+
+	PR target/119853
+	PR target/119854
+	* target-cxa-dso-dtor.c: New.
+	* config/accel/target-cxa-dso-dtor.c: Likewise.
+	* Makefile.am (libgomp_la_SOURCES): Add it.
+	* Makefile.in: Regenerate.
+	* testsuite/libgomp.c++/target-cdtor-1.C: New.
+	* testsuite/libgomp.c++/target-cdtor-2.C: Likewise.
+
+2025-05-15  Thomas Schwinge  <tschwinge@baylibre.com>
+
+	Backported from master:
+	2025-04-25  Thomas Schwinge  <tschwinge@baylibre.com>
+
+	* testsuite/libgomp.c-c++-common/target-cdtor-1.c: New.
+
+2025-05-15  Andrew Pinski  <quic_apinski@quicinc.com>
+
+	Backported from master:
+	2025-04-25  Andrew Pinski  <quic_apinski@quicinc.com>
+		    Thomas Schwinge  <tschwinge@baylibre.com>
+
+	PR target/119737
+	* testsuite/libgomp.c++/target-exceptions-throw-1.C: Remove
+	PR119737 XFAILing.
+	* testsuite/libgomp.c++/target-exceptions-throw-2.C: Likewise.
+	* testsuite/libgomp.oacc-c++/exceptions-throw-1.C: Likewise.
+	* testsuite/libgomp.oacc-c++/exceptions-throw-2.C: Likewise.
+
+2025-05-15  Thomas Schwinge  <tschwinge@baylibre.com>
+
+	Backported from master:
+	2025-04-25  Thomas Schwinge  <tschwinge@baylibre.com>
+
+	PR target/118794
+	* testsuite/libgomp.c++/target-exceptions-pr118794-1.C: Adjust for
+	'targetm.arm_eabi_unwinder'.
+	* testsuite/libgomp.c++/target-exceptions-pr118794-1-offload-sorry-GCN.C:
+	Likewise.
+	* testsuite/libgomp.c++/target-exceptions-pr118794-1-offload-sorry-nvptx.C:
+	Likewise.
+
+2025-05-15  Tobias Burnus  <tburnus@baylibre.com>
+
+	Backported from master:
+	2025-04-24  Tobias Burnus  <tburnus@baylibre.com>
+
+	* testsuite/lib/libgomp.exp
+	(check_effective_target_gomp_hip_header_nvidia): Compile with
+	"-Wno-deprecated-declarations".
+	* testsuite/libgomp.c/interop-hip-nvidia-full.c: Likewise.
+	* testsuite/libgomp.c/interop-hipblas-nvidia-full.c: Likewise.
+	* testsuite/libgomp.c/interop-hipblas.h: Add workarounds
+	when using the HIP headers with __HIP_PLATFORM_NVIDIA__.
+
+2025-05-15  Tobias Burnus  <tburnus@baylibre.com>
+
+	Backported from master:
+	2025-04-24  Tobias Burnus  <tburnus@baylibre.com>
+
+	* testsuite/lib/libgomp.exp (check_effective_target_openacc_cublas,
+	check_effective_target_openacc_cudart): Update description as
+	the check requires more.
+	(check_effective_target_openacc_libcuda,
+	check_effective_target_openacc_libcublas,
+	check_effective_target_openacc_libcudart,
+	check_effective_target_gomp_hip_header_amd,
+	check_effective_target_gomp_hip_header_nvidia,
+	check_effective_target_gomp_hipfort_module,
+	check_effective_target_gomp_libamdhip64,
+	check_effective_target_gomp_libhipblas): New.
+	* testsuite/libgomp.c-c++-common/interop-2.c: New test.
+	* testsuite/libgomp.c/interop-cublas-full.c: New test.
+	* testsuite/libgomp.c/interop-cublas-libonly.c: New test.
+	* testsuite/libgomp.c/interop-cuda-full.c: New test.
+	* testsuite/libgomp.c/interop-cuda-libonly.c: New test.
+	* testsuite/libgomp.c/interop-hip-amd-full.c: New test.
+	* testsuite/libgomp.c/interop-hip-amd-no-hip-header.c: New test.
+	* testsuite/libgomp.c/interop-hip-nvidia-full.c: New test.
+	* testsuite/libgomp.c/interop-hip-nvidia-no-headers.c: New test.
+	* testsuite/libgomp.c/interop-hip-nvidia-no-hip-header.c: New test.
+	* testsuite/libgomp.c/interop-hip.h: New test.
+	* testsuite/libgomp.c/interop-hipblas-amd-full.c: New test.
+	* testsuite/libgomp.c/interop-hipblas-amd-no-hip-header.c: New test.
+	* testsuite/libgomp.c/interop-hipblas-nvidia-full.c: New test.
+	* testsuite/libgomp.c/interop-hipblas-nvidia-no-headers.c: New test.
+	* testsuite/libgomp.c/interop-hipblas-nvidia-no-hip-header.c: New test.
+	* testsuite/libgomp.c/interop-hipblas.h: New test.
+	* testsuite/libgomp.fortran/interop-hip-amd-full.F90: New test.
+	* testsuite/libgomp.fortran/interop-hip-amd-no-module.F90: New test.
+	* testsuite/libgomp.fortran/interop-hip-nvidia-full.F90: New test.
+	* testsuite/libgomp.fortran/interop-hip-nvidia-no-module.F90: New test.
+	* testsuite/libgomp.fortran/interop-hip.h: New test.
+
+2025-05-15  Kwok Cheung Yeung  <kcyeung@baylibre.com>
+
+	* testsuite/libgomp.fortran/allocatable-comp-iterators.f90: Add test
+	for non-const iterator boundaries.
+
+2025-05-15  Kwok Cheung Yeung  <kcyeung@baylibre.com>
+
+	* testsuite/libgomp.fortran/allocatable-comp-iterators.f90: New.
+
+2025-05-15  Kwok Cheung Yeung  <kcyeung@baylibre.com>
+	    Andrew Stubbs  <ams@baylibre.com>
+
+	* testsuite/libgomp.fortran/mapper-iterators-1.f90: New test.
+	* testsuite/libgomp.fortran/mapper-iterators-2.f90: New test.
+	* testsuite/libgomp.fortran/mapper-iterators-3.f90: New test.
+	* testsuite/libgomp.fortran/mapper-iterators-4.f90: New test.
+
+2025-05-15  Kwok Cheung Yeung  <kcyeung@baylibre.com>
+	    Andrew Stubbs  <ams@baylibre.com>
+
+	* testsuite/libgomp.c-c++-common/mapper-iterators-1.c: New test.
+	* testsuite/libgomp.c-c++-common/mapper-iterators-2.c: New test.
+	* testsuite/libgomp.c-c++-common/mapper-iterators-3.c: New test.
+
+2025-05-15  Kwok Cheung Yeung  <kcyeung@baylibre.com>
+
+	* testsuite/libgomp.c-c++-common/target-map-iterators-4.c: New.
+	* testsuite/libgomp.c-c++-common/target-map-iterators-5.c: New.
+	* testsuite/libgomp.c-c++-common/target-update-iterators-4.c: New.
+	* testsuite/libgomp.fortran/target-map-iterators-4.f90: New.
+	* testsuite/libgomp.fortran/target-map-iterators-5.f90: New.
+	* testsuite/libgomp.fortran/target-update-iterators-4.f90: New.
+
+2025-05-15  Kwok Cheung Yeung  <kcyeung@baylibre.com>
+	    Andrew Stubbs   <ams@baylibre.com>
+
+	* testsuite/libgomp.fortran/target-update-iterators-1.f90: New.
+	* testsuite/libgomp.fortran/target-update-iterators-2.f90: New.
+	* testsuite/libgomp.fortran/target-update-iterators-3.f90: New.
+
+2025-05-15  Kwok Cheung Yeung  <kcyeung@baylibre.com>
+	    Andrew Stubbs  <ams@baylibre.com>
+
+	* target.c (kind_to_name): Handle GOMP_MAP_STRUCT and
+	GOMP_MAP_STRUCT_UNORD.
+	(gomp_add_map): New.
+	(gomp_merge_iterator_maps): Expand fields of a struct mapping
+	breadth-first.
+	* testsuite/libgomp.fortran/target-map-iterators-1.f90: New.
+	* testsuite/libgomp.fortran/target-map-iterators-2.f90: New.
+	* testsuite/libgomp.fortran/target-map-iterators-3.f90: New.
+
+2025-05-15  Kwok Cheung Yeung  <kcyeung@baylibre.com>
+
+	* 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-05-15  Kwok Cheung Yeung  <kcyeung@baylibre.com>
+	    Andrew Stubbs  <ams@baylibre.com>
+
+	* target.c (kind_to_name): New.
+	(gomp_merge_iterator_maps): New.
+	(gomp_map_vars_internal): Call gomp_merge_iterator_maps.  Copy
+	address of only the first iteration to target vars.  Free allocated
+	variables.
+	* testsuite/libgomp.c-c++-common/target-map-iterators-1.c: New.
+	* testsuite/libgomp.c-c++-common/target-map-iterators-2.c: New.
+	* testsuite/libgomp.c-c++-common/target-map-iterators-3.c: New.
+
+2025-05-15  Thomas Schwinge  <tschwinge@baylibre.com>
+
+	* testsuite/libgomp.oacc-c++/exceptions-bad_cast-3.C: Adjust.
+	* testsuite/libgomp.oacc-c++/exceptions-throw-3.C: Likewise.
+	* testsuite/libgomp.oacc-c++/pr119692-1-1.C: Likewise.
+	* testsuite/libgomp.oacc-c++/pr119692-1-2.C: Likewise.
+	* testsuite/libgomp.oacc-c++/pr119692-1-3.C: Likewise.
+
+2025-05-15  Chung-Lin Tang  <cltang@baylibre.com>
+	    Sandra Loosemore  <sloosemore@baylibre.com>
+
+	* acc_prof.h (_ACC_PROF_INFO_VERSION): Adjust to 201811.
+	* libgomp.texi (Enabling OpenACC): Adjust version
+	references to 2.7 from 2.6.
+	* openacc.f90 (module openacc): Adjust openacc_version to 201811.
+	* openacc_lib.h (openacc_version): Adjust openacc_version to 201811.
+	* testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
+	Adjust test value to 201811.
+	* testsuite/libgomp.oacc-fortran/openacc_version-1.f: Adjust
+	test value to 201811.
+	* testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
+
+2025-05-15  Chung-Lin Tang  <cltang@baylibre.com>
+
+	* testsuite/libgomp.oacc-c-c++-common/reduction-arrays-2.c: Adjust test.
+	* testsuite/libgomp.oacc-c-c++-common/reduction-arrays-3.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/reduction-arrays-4.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/reduction-arrays-5.c: Likewise.
+
+2025-05-15  Chung-Lin Tang  <cltang@baylibre.com>
+
+	* testsuite/libgomp.oacc-c-c++-common/reduction.h
+	(check_reduction_array_xx): New macro.
+	(operator_apply): Likewise.
+	(check_reduction_array_op): Likewise.
+	(check_reduction_arraysec_op): Likewise.
+	(function_apply): Likewise.
+	(check_reduction_array_macro): Likewise.
+	(check_reduction_arraysec_macro): Likewise.
+	(check_reduction_xxx_xx_all): Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/reduction-arrays-1.c: New test.
+	* testsuite/libgomp.oacc-c-c++-common/reduction-arrays-2.c: New test.
+	* testsuite/libgomp.oacc-c-c++-common/reduction-arrays-3.c: New test.
+	* testsuite/libgomp.oacc-c-c++-common/reduction-arrays-4.c: New test.
+	* testsuite/libgomp.oacc-c-c++-common/reduction-arrays-5.c: New test.
+	* testsuite/libgomp.oacc-c-c++-common/reduction-structs-1.c: New test.
+	* testsuite/libgomp.oacc-fortran/reduction-10.f90: New test.
+	* testsuite/libgomp.oacc-fortran/reduction-11.f90: New test.
+	* testsuite/libgomp.oacc-fortran/reduction-12.f90: New test.
+	* testsuite/libgomp.oacc-fortran/reduction-13.f90: New test.
+	* testsuite/libgomp.oacc-fortran/reduction-14.f90: New test.
+	* testsuite/libgomp.oacc-fortran/reduction-15.f90: New test.
+	* testsuite/libgomp.oacc-fortran/reduction-16.f90: New test.
+
+2025-05-15  Sandra Loosemore  <sloosemore@baylibre.com>
+
+	* testsuite/libgomp.c-c++-common/delim-declare-variant-1.c: New.
+
+2025-05-15  Sandra Loosemore  <sloosemore@baylibre.com>
+	    Julian Brown  <julian@codesourcery.com>
+	    waffl3x  <waffl3x@baylibre.com>
+
+	* testsuite/libgomp.c++/delim-declare-variant-1.C: New.
+	* testsuite/libgomp.c++/delim-declare-variant-2.C: New.
+	* testsuite/libgomp.c++/delim-declare-variant-7.C: New.
+
+2025-05-15  Paul-Antoine Arras  <parras@baylibre.com>
+
+	* target.c (omp_target_memcpy_rect_worker): Require unit strides
+	and matching element size.
+
+2025-05-15  Tobias Burnus  <tobias@codesourcery.com>
+
+	Backported from master:
+	2025-05-01  Tobias Burnus  <tobias@codesourcery.com>
+
+	* testsuite/libgomp.fortran/allocate-8a.f90: New test.
+
+2025-05-15  waffl3x  <waffl3x@baylibre.com>
+	    Tobias Burnus  <tobias@codesourcery.com>
+
+	* libgomp.texi: Document C++ support.
+	* testsuite/libgomp.c/allocate-4.c: Move to...
+	* testsuite/libgomp.c-c++-common/allocate-4.c: ...here.
+	* testsuite/libgomp.c/allocate-5.c: Move to...
+	* testsuite/libgomp.c-c++-common/allocate-5.c: ...here.
+	* testsuite/libgomp.c/allocate-6.c: Move to...
+	* testsuite/libgomp.c-c++-common/allocate-6.c: ...here.
+	* testsuite/libgomp.c++/allocate-2.C: New test.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+
+	* target.c (omp_target_memcpy_rect_worker): Add 1D strided transfer
+	support.
+
+2025-05-15  Andrew Stubbs  <ams@codesourcery.com>
+
+	* config/gcn/target.c (GOMP_target_ext): Add "signal" field.
+	Fix atomics race condition.
+	* config/nvptx/libgomp-nvptx.h (REV_OFFLOAD_QUEUE_SIZE): New define.
+	(struct rev_offload): Implement ring buffer.
+	* config/nvptx/target.c (GOMP_target_ext): Likewise.
+	* env.c (initialize_env): Read GOMP_REVERSE_OFFLOAD_THREADS.
+	* libgomp-plugin.c (GOMP_PLUGIN_target_rev): Replace "aq" parameter
+	with "signal" and "use_aq".
+	* libgomp-plugin.h (GOMP_PLUGIN_target_rev): Likewise.
+	* libgomp.h (gomp_target_rev): Likewise.
+	* plugin/plugin-gcn.c (process_reverse_offload): Add "signal".
+	(console_output): Pass signal value through.
+	* plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct):
+	Attach new threads to the numbered device.
+	Change the flag to CU_STREAM_NON_BLOCKING.
+	(GOMP_OFFLOAD_run): Implement ring-buffer and remove signalling.
+	* target.c (gomp_target_rev): Rename to ...
+	(gomp_target_rev_internal): ... this, and change "dev_num" to
+	"devicep".
+	(gomp_target_rev_worker_thread): New function.
+	(gomp_target_rev): New function (old name).
+	* libgomp.texi: Document GOMP_REVERSE_OFFLOAD_THREADS.
+	* testsuite/libgomp.c/reverse-offload-threads-1.c: New test.
+	* testsuite/libgomp.c/reverse-offload-threads-2.c: New test.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+	    Andrew Stubbs   <ams@baylibre.com>
+	    Kwok Cheung Yeung  <kcyeung@baylibre.com>
+	    Sandra Loosemore  <sloosemore@baylibre.com>
+
+	* testsuite/libgomp.c-c++-common/declare-mapper-18.c: New test.
+	* testsuite/libgomp.fortran/declare-mapper-25.f90: New test.
+	* testsuite/libgomp.fortran/declare-mapper-28.f90: New test.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+	    Sandra Loosemore  <sloosemore@baylibre.com>
+
+	* libgomp.h (omp_noncontig_array_desc): Add span field.
+	* target.c (omp_target_memcpy_rect_worker): Add span parameter. Update
+	forward declaration. Handle span != element_size.
+	(gomp_update): Handle bias in descriptor's size slot.  Update calls to
+	omp_target_memcpy_rect_worker.
+	* testsuite/libgomp.fortran/noncontig-updates-1.f90: New test.
+	* testsuite/libgomp.fortran/noncontig-updates-2.f90: New test.
+	* testsuite/libgomp.fortran/noncontig-updates-3.f90: New test.
+	* testsuite/libgomp.fortran/noncontig-updates-4.f90: New test.
+	* testsuite/libgomp.fortran/noncontig-updates-5.f90: New test.
+	* testsuite/libgomp.fortran/noncontig-updates-6.f90: New test.
+	* testsuite/libgomp.fortran/noncontig-updates-7.f90: New test.
+	* testsuite/libgomp.fortran/noncontig-updates-8.f90: New test.
+	* testsuite/libgomp.fortran/noncontig-updates-9.f90: New test.
+	* testsuite/libgomp.fortran/noncontig-updates-10.f90: New test.
+	* testsuite/libgomp.fortran/noncontig-updates-11.f90: New test.
+	* testsuite/libgomp.fortran/noncontig-updates-12.f90: New test.
+	* testsuite/libgomp.fortran/noncontig-updates-13.f90: New test.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+
+	* testsuite/libgomp.c-c++-common/array-shaping-14.c: New test.
+	* testsuite/libgomp.c/array-shaping-1.c: New test.
+	* testsuite/libgomp.c/array-shaping-2.c: New test.
+	* testsuite/libgomp.c/array-shaping-3.c: New test.
+	* testsuite/libgomp.c/array-shaping-4.c: New test.
+	* testsuite/libgomp.c/array-shaping-5.c: New test.
+	* testsuite/libgomp.c/array-shaping-6.c: New test.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+
+	* libgomp.h (omp_noncontig_array_desc): New struct.
+	* target.c (omp_target_memcpy_rect_worker): Add stride array
+	parameter.  Forward declare.  Add STRIDES parameter and strided
+	update support.
+	(gomp_update): Add noncontiguous (strided/shaped) update support.
+	* testsuite/libgomp.c++/array-shaping-1.C: New test.
+	* testsuite/libgomp.c++/array-shaping-2.C: New test.
+	* testsuite/libgomp.c++/array-shaping-3.C: New test.
+	* testsuite/libgomp.c++/array-shaping-4.C: New test.
+	* testsuite/libgomp.c++/array-shaping-5.C: New test.
+	* testsuite/libgomp.c++/array-shaping-6.C: New test.
+	* testsuite/libgomp.c++/array-shaping-7.C: New test.
+	* testsuite/libgomp.c++/array-shaping-8.C: New test.
+	* testsuite/libgomp.c++/array-shaping-9.C: New test.
+	* testsuite/libgomp.c++/array-shaping-10.C: New test.
+	* testsuite/libgomp.c++/array-shaping-11.C: New test.
+	* testsuite/libgomp.c++/array-shaping-12.C: New test.
+	* testsuite/libgomp.c++/array-shaping-13.C: New test.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+
+	* testsuite/libgomp.fortran/declare-mapper-30.f90: New test.
+	* testsuite/libgomp.fortran/declare-mapper-4.f90: Adjust test for new
+	lookup behaviour.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+
+	* testsuite/libgomp.fortran/declare-mapper-2.f90: New test.
+	* testsuite/libgomp.fortran/declare-mapper-3.f90: New test.
+	* testsuite/libgomp.fortran/declare-mapper-4.f90: New test.
+	* testsuite/libgomp.fortran/declare-mapper-6.f90: New test.
+	* testsuite/libgomp.fortran/declare-mapper-7.f90: New test.
+	* testsuite/libgomp.fortran/declare-mapper-8.f90: New test.
+	* testsuite/libgomp.fortran/declare-mapper-9.f90: New test.
+	* testsuite/libgomp.fortran/declare-mapper-10.f90: New test.
+	* testsuite/libgomp.fortran/declare-mapper-11.f90: New test.
+	* testsuite/libgomp.fortran/declare-mapper-12.f90: New test.
+	* testsuite/libgomp.fortran/declare-mapper-13.f90: New test.
+	* testsuite/libgomp.fortran/declare-mapper-15.f90: New test.
+	* testsuite/libgomp.fortran/declare-mapper-17.f90: New test.
+	* testsuite/libgomp.fortran/declare-mapper-18.f90: New test.
+	* testsuite/libgomp.fortran/declare-mapper-19.f90: New test.
+	* testsuite/libgomp.fortran/declare-mapper-20.f90: New test.
+	* testsuite/libgomp.fortran/declare-mapper-21.f90: New test.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+
+	* testsuite/libgomp.c-c++-common/declare-mapper-9.c: Enable for C.
+	* testsuite/libgomp.c-c++-common/declare-mapper-10.c: Likewise.
+	* testsuite/libgomp.c-c++-common/declare-mapper-11.c: Likewise.
+	* testsuite/libgomp.c-c++-common/declare-mapper-12.c: Likewise.
+	* testsuite/libgomp.c-c++-common/declare-mapper-13.c: Likewise.
+	* testsuite/libgomp.c-c++-common/declare-mapper-14.c: Likewise.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+
+	* testsuite/libgomp.c++/declare-mapper-1.C: New test.
+	* testsuite/libgomp.c++/declare-mapper-2.C: New test.
+	* testsuite/libgomp.c++/declare-mapper-3.C: New test.
+	* testsuite/libgomp.c++/declare-mapper-4.C: New test.
+	* testsuite/libgomp.c++/declare-mapper-5.C: New test.
+	* testsuite/libgomp.c++/declare-mapper-6.C: New test.
+	* testsuite/libgomp.c++/declare-mapper-7.C: New test.
+	* testsuite/libgomp.c++/declare-mapper-8.C: New test.
+	* testsuite/libgomp.c-c++-common/declare-mapper-9.c: New test (only
+	enabled for C++ for now).
+	* testsuite/libgomp.c-c++-common/declare-mapper-10.c: Likewise.
+	* testsuite/libgomp.c-c++-common/declare-mapper-11.c: Likewise.
+	* testsuite/libgomp.c-c++-common/declare-mapper-12.c: Likewise.
+	* testsuite/libgomp.c-c++-common/declare-mapper-13.c: Likewise.
+	* testsuite/libgomp.c-c++-common/declare-mapper-14.c: Likewise.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+	    Thomas Schwinge  <tschwinge@baylibre.com>
+	    Sandra Loosemore  <sloosemore@baylibre.com>
+
+	* testsuite/libgomp.oacc-c-c++-common/implicit-mapping-1.c: New test.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+
+	* testsuite/libgomp.oacc-fortran/nonlexical-assumed-size-1.f90: New
+	test.
+	* testsuite/libgomp.oacc-fortran/nonlexical-assumed-size-2.f90: New
+	test.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+	    Paul-Antoine Arras  <parras@baylibre.com>
+	    Sandra Loosemore  <sandra@baylibre.com>
+
+	* testsuite/libgomp.oacc-fortran/declare-allocatable-1-directive.f90:
+	Remove xfails.
+	* testsuite/libgomp.oacc-fortran/declare-allocatable-1-runtime.f90:
+	Remove xfails.
+	* testsuite/libgomp.oacc-fortran/declare-allocatable-1.f90:
+	Remove xfails.
+	* testsuite/libgomp.oacc-fortran/declare-create-1.f90: New test.
+	* testsuite/libgomp.oacc-fortran/declare-create-2.f90: New test.
+	* testsuite/libgomp.oacc-fortran/declare-create-3.f90: New test.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+
+	* testsuite/libgomp.oacc-c-c++-common/pr70828.c: New test.
+	* testsuite/libgomp.oacc-c-c++-common/pr70828-2.c: Likewise.
+	* testsuite/libgomp.oacc-fortran/pr70828.f90: Likewise.
+	* testsuite/libgomp.oacc-fortran/pr70828-2.f90: Likewise.
+	* testsuite/libgomp.oacc-fortran/pr70828-3.f90: Likewise.
+	* testsuite/libgomp.oacc-fortran/pr70828-4.f90: Likewise.
+	* testsuite/libgomp.oacc-fortran/pr70828-5.f90: Likewise.
+	* testsuite/libgomp.oacc-fortran/pr70828-6.f90: Likewise.
+
+2025-05-15  Chung-Lin Tang  <cltang@codesourcery.com>
+
+	Backported from master:
+	2023-05-19  Chung-Lin Tang  <cltang@codesourcery.com>
+
+	* config/nvptx/team.c (__nvptx_omp_num_threads): New global variable in
+	shared memory.
+	* testsuite/libgomp.c-c++-common/for-17.c: New file.
+	* testsuite/libgomp.c-c++-common/for-18.c: New file.
+
+2025-05-15  Thomas Schwinge  <thomas@codesourcery.com>
+
+	* libgomp.texi (AMD Radeon, nvptx): Document OpenMP 'pinned'
+	memory.
+
+2025-05-15  Thomas Schwinge  <thomas@codesourcery.com>
+
+	* target.c (gomp_unmap_vars_internal): Queue splay-tree keys for
+	removal after main loop.
+
+2025-05-15  Tobias Burnus  <tobias@codesourcery.com>
+
+	* testsuite/libgomp.fortran/target-enter-data-3a.f90: New test.
+
+2025-05-15  Tobias Burnus  <tobias@codesourcery.com>
+
+	* testsuite/libgomp.fortran/target-13.f90: Update test.
+
+2025-05-15  Tobias Burnus  <tobias@codesourcery.com>
+
+	* testsuite/libgomp.c++/c++.exp (check_effective_target_c,
+	check_effective_target_c++): Add.
+	* testsuite/libgomp.c/c.exp (check_effective_target_c,
+	check_effective_target_c++): Add.
+	* testsuite/libgomp.fortran/uses_allocators_2.f90: Remove 'sorry'.
+	* testsuite/libgomp.c-c++-common/uses_allocators-1.c: New test.
+	* testsuite/libgomp.c-c++-common/uses_allocators-2.c: New test.
+	* testsuite/libgomp.c-c++-common/uses_allocators-3.c: New test.
+	* testsuite/libgomp.c-c++-common/uses_allocators-4.c: New test.
+	* testsuite/libgomp.fortran/uses_allocators_3.f90: New test.
+	* testsuite/libgomp.fortran/uses_allocators_4.f90: New test.
+	* testsuite/libgomp.fortran/uses_allocators_5.f90: New test.
+	* testsuite/libgomp.fortran/uses_allocators_6.f90: New test.
+
+2025-05-15  Andrew Stubbs  <ams@baylibre.com>
+
+	* Makefile.am (libgomp_la_SOURCES): Add usmpin-allocator.c.
+	* Makefile.in: Regenerate.
+	* config/linux/allocator.c: Include unistd.h.
+	(pin_ctx): New variable.
+	(ctxlock): New variable.
+	(linux_init_pin_ctx): New function.
+	(linux_memspace_alloc): Use usmpin-allocator for pinned memory.
+	(linux_memspace_free): Likewise.
+	(linux_memspace_realloc): Likewise.
+	* libgomp.h (usmpin_init_context): New prototype.
+	(usmpin_register_memory): New prototype.
+	(usmpin_alloc): New prototype.
+	(usmpin_free): New prototype.
+	(usmpin_realloc): New prototype.
+	* testsuite/libgomp.c/alloc-pinned-8.c: New test.
+	* usmpin-allocator.c: New file.
+
+2025-05-15  Andrew Stubbs  <ams@baylibre.com>
+	    Thomas Schwinge  <thomas@codesourcery.com>
+
+	* config/linux/allocator.c: Include assert.h.
+	(using_device_for_page_locked): New variable.
+	(linux_memspace_alloc): Add init0 parameter. Support device pinning.
+	(linux_memspace_calloc): Set init0 to true.
+	(linux_memspace_free): Support device pinning.
+	(linux_memspace_realloc): Support device pinning.
+	(MEMSPACE_ALLOC): Set init0 to false.
+	* libgomp-plugin.h
+	(GOMP_OFFLOAD_page_locked_host_alloc): New prototype.
+	(GOMP_OFFLOAD_page_locked_host_free): Likewise.
+	* libgomp.h (gomp_page_locked_host_alloc): Likewise.
+	(gomp_page_locked_host_free): Likewise.
+	(struct gomp_device_descr): Add page_locked_host_alloc_func and
+	page_locked_host_free_func.
+	* libgomp.texi: Adjust the docs for the pinned trait.
+	* libgomp_g.h (GOMP_enable_pinned_mode): New prototype.
+	* plugin/plugin-nvptx.c
+	(GOMP_OFFLOAD_page_locked_host_alloc): New function.
+	(GOMP_OFFLOAD_page_locked_host_free): Likewise.
+	* target.c (device_for_page_locked): New variable.
+	(get_device_for_page_locked): New function.
+	(gomp_page_locked_host_alloc): Likewise.
+	(gomp_page_locked_host_free): Likewise.
+	(gomp_load_plugin_for_device): Add page_locked_host_alloc and
+	page_locked_host_free.
+	* testsuite/libgomp.c/alloc-pinned-1.c: Change expectations for NVPTX
+	devices.
+	* testsuite/libgomp.c/alloc-pinned-2.c: Likewise.
+	* testsuite/libgomp.c/alloc-pinned-3.c: Likewise.
+	* testsuite/libgomp.c/alloc-pinned-4.c: Likewise.
+	* testsuite/libgomp.c/alloc-pinned-5.c: Likewise.
+	* testsuite/libgomp.c/alloc-pinned-6.c: Likewise.
+
+2025-05-15  Andrew Stubbs  <ams@baylibre.com>
+
+	* config/linux/allocator.c (always_pinned_mode): New variable.
+	(GOMP_enable_pinned_mode): New function.
+	(linux_memspace_alloc): Disable pinning when always_pinned_mode set.
+	(linux_memspace_calloc): Likewise.
+	(linux_memspace_free): Likewise.
+	(linux_memspace_realloc): Likewise.
+	* libgomp.map: Add GOMP_enable_pinned_mode.
+	* testsuite/libgomp.c/alloc-pinned-7.c: New test.
+	* testsuite/libgomp.c-c++-common/alloc-pinned-1.c: New test.
+
+2025-05-15  Kwok Cheung Yeung  <kcy@codesourcery.com>
+
+	* testsuite/libgomp.c-c++-common/collapse-4.c: New.
+	* testsuite/libgomp.fortran/collapse5.f90: New.
+
+2025-05-15  Andrew Stubbs  <ams@codesourcery.com>
+
+	* config/gcn/bar.h (gomp_barrier_init): Limit thread count to the
+	actual physical number.
+	* config/gcn/team.c (gomp_team_start): Don't attempt to set up
+	threads that do not exist.
+
+2025-05-15  Andrew Stubbs  <ams@codesourcery.com>
+
+	* plugin/plugin-nvptx.c (GOMP_OFFLOAD_alloc): Remove early call to
+	nvptx_stacks_free.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+
+	* testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Adjust for loop
+	lowering changes.
+	* testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
+
+2025-05-15  Cesar Philippidis  <cesar@codesourcery.com>
+	    Julian Brown   <julian@codesourcery.com>
+	    Kwok Cheung Yeung   <kcy@codesourcery.com>
+	    Tobias Burnus  <tobias@codesourcery.com>
+	    Thomas Schwinge  <thomas@codesourcery.com>
+	    Paul-Antoine Arras  <parras@baylibre.com>
+
+	* libgomp.h (gomp_acc_declare_allocate): Remove prototype.
+	* oacc-mem.c (gomp_acc_declare_allocate): New function.
+	(find_group_last): Handle GOMP_MAP_DECLARE_ALLOCATE and
+	GOMP_MAP_DECLARE_DEALLOCATE groupings.
+	(goacc_enter_data_internal): Fix kind check for
+	GOMP_MAP_DECLARE_ALLOCATE. Pass new pointer argument to
+	gomp_acc_declare_allocate.   Unlock mutex before calling
+	gomp_acc_declare_allocate and relock it afterwards.
+	(goacc_exit_data_internal): Unlock device mutex around
+	gomp_acc_declare_allocate call. Pass new pointer argument. Handle
+	group pointer mapping for deallocate.
+	* testsuite/libgomp.oacc-fortran/allocatable-scalar.f90: New test.
+	* testsuite/libgomp.oacc-fortran/declare-allocatable-1-directive.f90:
+	Adjust.
+	* testsuite/libgomp.oacc-fortran/declare-allocatable-1-runtime.f90:
+	Likewise.
+	* testsuite/libgomp.oacc-fortran/declare-allocatable-1.f90:
+	Likewise.
+	* testsuite/libgomp.oacc-fortran/declare-allocatable-2.f90: New test.
+	* testsuite/libgomp.oacc-fortran/declare-allocatable-3.f90: New test.
+	* testsuite/libgomp.oacc-fortran/declare-allocatable-4.f90: New test.
+	* testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-directive.f90:
+	Adjust.
+	* testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-runtime.f90:
+	Likewise.
+	* testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1.f90:
+	New test.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+	    Tobias Burnus  <tobias@codesourcery.com>
+	    Sandra Loosemore  <sandra@baylibre.com>
+
+	* testsuite/libgomp.oacc-c++/privatized-ref-3.C: Add xfails.
+	* testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
+	* testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
+
+2025-05-15  Cesar Philippidis  <cesar@codesourcery.com>
+	    Julian Brown  <julian@codesourcery.com>
+	    Sandra Loosemore  <sloosemore@baylibre.com>
+
+	* testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
+	xfail on bogus warnings.
+	* testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
+	* testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
+	* testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
+	* testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
+	* testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
+
+2025-05-15  Thomas Schwinge  <thomas@codesourcery.com>
+	    Maciej W. Rozycki   <macro@codesourcery.com>
+
+	* Makefile.am (libgomp_la_SOURCES): Add
+	oacc-profiling-acc_register_library.c.
+	* Makefile.in: Regenerate.
+	* libgomp.texi: Remove paragraph about acc_register_library.
+	* oacc-init.c (get_property_any): Add profiling code.
+	* oacc-parallel.c (GOACC_parallel_keyed_internal): Set device_api for
+	profiling.
+	* oacc-profiling-acc_register_library.c: New file.
+	* oacc-profiling.c (goacc_profiling_initialize): Call
+	acc_register_library.  Avoid duplicate registration.
+	(acc_register_library): Remove.
+	* config/nvptx/oacc-profiling-acc_register_library.c:
+	New empty file.
+	* config/nvptx/oacc-profiling.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: Remove
+	call to acc_register_library.
+	* testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
+	Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c: Likewise.
+
+2025-05-15  Cesar Philippidis  <cesar@codesourcery.com>
+	    Chung-Lin Tang   <cltang@codesourcery.com>
+
+	* testsuite/libgomp.oacc-c-c++-common/privatize-reduction-1.c: New
+	test.
+	* testsuite/libgomp.oacc-c-c++-common/privatize-reduction-2.c: New
+	test.
+
+2025-05-15  Cesar Philippidis  <cesar@codesourcery.com>
+
+	* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust test case
+	to conform to the new behavior of the auto clause in OpenACC 2.5.
+
+2025-05-15  Cesar Philippidis  <cesar@codesourcery.com>
+	    Julian Brown   <julian@codesourcery.com>
+	    Tobias Burnus  <tobias@codesourcery.com>
+	    Kwok Cheung Yeung  <kcy@codesourcery.com>
+
+	* testsuite/libgomp.oacc-c++/firstprivate-int.C: New test.
+	* testsuite/libgomp.oacc-c-c++-common/firstprivate-int.c: New
+	test.
+	* testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: XFAIL
+	execution test.
+	* testsuite/libgomp.oacc-fortran/firstprivate-int.f90: New test.
+
+2025-05-15  Nathan Sidwell  <nathan@acm.org>
+	    Tom de Vries   <tdevries@suse.de>
+	    Thomas Schwinge   <thomas@codesourcery.com>
+	    Julian Brown   <julian@codesourcery.com>
+
+	* testsuite/libgomp.oacc-c-c++-common/loop-default-compile.c: New.
+
+2025-05-15  Cesar Philippidis  <cesar@codesourcery.com>
+	    James Norris   <jnorris@codesourcery.com>
+	    Tom de Vries   <tom@codesourcery.com>
+	    Julian Brown  <julian@codesourcery.com>
+	    Tobias Burnus  <tburnus@baylibre.com>
+
+	* testsuite/libgomp.oacc-fortran/data-3.f90: Update parallel
+	regions to denote variables copyied in via acc enter data as
+	present.
+	* testsuite/libgomp.oacc-c-c++-common/subr.h: Reimplement.
+	* testsuite/libgomp.oacc-c-c++-common/subr.ptx: Regenerated PTX.
+	* testsuite/libgomp.oacc-c-c++-common/timer.h: Removed.
+	* testsuite/libgomp.oacc-c-c++-common/lib-69.c: Change async checks.
+	* testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-72.c: Rework kernel i/f and
+	change async checks.
+	* testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-74.c: Rework kernel i/f and
+	timing checks.
+	* testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
+	* testsuite/libgomp.oacc-c-c++-common/lib-93.c: New test.
+
+2025-05-15  Julian Brown  <julian@codesourcery.com>
+	    Cesar Philippidis   <cesar@codesourcery.com>
+	    Nathan Sidwell   <nathan@acm.org>
+
+	* testsuite/libgomp.oacc-c-c++-common/par-reduction-3.c: New.
+	* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt-2.c: New.
+	* testsuite/libgomp.oacc-fortran/reduction-9.f90: New.
+
+2025-05-15  Cesar Philippidis  <cesar@codesourcery.com>
+	    James Norris   <jnorris@codesourcery.com>
+	    Julian Brown  <julian@codesourcery.com>
+	    Tobias Burnus  <tobias@codesourcery.com>
+	    Thomas Schwinge  <tschwinge@baylibre.com>
+
+	* oacc-parallel.c (GOACC_parallel_keyed): Handle Fortran deviceptr
+	clause.
+	(GOACC_data_start): Likewise.
+	* testsuite/libgomp.oacc-fortran/deviceptr-1.f90: New test.
+
+2025-05-15  Thomas Schwinge  <thomas@codesourcery.com>
+
+	PR other/76739
+	* target.c (gomp_map_vars_internal): Pass pre-allocated 'ptrblock'
+	to 'goacc_noncontig_array_create_ptrblock'.
+	* oacc-parallel.c (goacc_noncontig_array_create_ptrblock): Adjust.
+	* oacc-int.h (goacc_noncontig_array_create_ptrblock): Adjust.
+
+2025-05-15  Thomas Schwinge  <thomas@codesourcery.com>
+
+	PR other/76739
+	* oacc-parallel.c (GOACC_parallel_keyed): Given OpenACC 'async',
+	defer 'free' of non-contiguous array support data structures.
+	* target.c (gomp_map_vars_internal): Likewise.
+
+2025-05-15  Thomas Schwinge  <thomas@codesourcery.com>
+
+	PR other/76739
+	* libgomp.h (goacc_map_vars): Add 'struct goacc_ncarray_info *'
+	formal parameter.
+	(gomp_map_vars_openacc): Remove.
+	* target.c (goacc_map_vars): Adjust.
+	(gomp_map_vars_openacc): Remove.
+	* oacc-mem.c (acc_map_data, goacc_enter_datum)
+	(goacc_enter_data_internal): Adjust.
+	* oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start):
+	Adjust.
+
+2025-05-15  Chung-Lin Tang  <cltang@codesourcery.com>
+	    Kwok Cheung Yeung  <kcy@codesourcery.com>
+	    Paul-Antoine Arras  <parras@baylibre.com>
+
+	PR other/76739
+	* libgomp.h (gomp_map_vars_openacc): New function declaration.
+	* libgomp_g.h (GOACC_data_start): Add variadic '...' to declaration.
+	* oacc-int.h (struct goacc_ncarray_dim): New struct declaration.
+	(struct goacc_ncarray_descr_type): Likewise.
+	(struct goacc_ncarray): Likewise.
+	(struct goacc_ncarray_info): Likewise.
+	(goacc_noncontig_array_create_ptrblock): New function declaration.
+	* oacc-parallel.c (goacc_noncontig_array_count_rows): New function.
+	(goacc_noncontig_array_compute_sizes): Likewise.
+	(goacc_noncontig_array_fill_rows_1): Likewise.
+	(goacc_noncontig_array_fill_rows): Likewise.
+	(goacc_process_noncontiguous_arrays): Likewise.
+	(goacc_noncontig_array_create_ptrblock): Likewise.
+	(GOACC_parallel_keyed): Use goacc_process_noncontiguous_arrays to
+	handle non-contiguous array descriptors at end of varargs, adjust
+	to use gomp_map_vars_openacc.
+	(GOACC_data_start): Likewise. Adjust function type to accept varargs.
+	* target.c (gomp_map_vars_internal): Add struct goacc_ncarray_info *
+	nca_info parameter, add handling code for non-contiguous arrays.
+	(gomp_map_vars_openacc): Add new function for specialization of
+	gomp_map_vars_internal for OpenACC structured region usage.
+	* testsuite/libgomp.oacc-c-c++-common/noncontig_array-1.c: New test.
+	* testsuite/libgomp.oacc-c-c++-common/noncontig_array-2.c: New test.
+	* testsuite/libgomp.oacc-c-c++-common/noncontig_array-3.c: New test.
+	* testsuite/libgomp.oacc-c-c++-common/noncontig_array-4.c: New test.
+	* testsuite/libgomp.oacc-c-c++-common/noncontig_array-utils.h: Support
+	header for new tests.
\ No newline at end of file


More information about the Gcc-cvs mailing list