[gcc r16-1025] Daily bump.

GCC Administrator gccadmin@gcc.gnu.org
Sat May 31 00:19:29 GMT 2025


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

commit r16-1025-gc7df2b7d4380ade4caf8af4de8d3407d7d523a2f
Author: GCC Administrator <gccadmin@gcc.gnu.org>
Date:   Sat May 31 00:19:06 2025 +0000

    Daily bump.

Diff:
---
 gcc/ChangeLog           | 144 ++++++++++++++++++++++
 gcc/DATESTAMP           |   2 +-
 gcc/c-family/ChangeLog  |  12 ++
 gcc/c/ChangeLog         |  42 +++++++
 gcc/cp/ChangeLog        |  61 ++++++++++
 gcc/fortran/ChangeLog   |  27 +++++
 gcc/testsuite/ChangeLog | 134 +++++++++++++++++++++
 include/ChangeLog       |   7 ++
 libgomp/ChangeLog       | 126 ++++++++++++++++++++
 libstdc++-v3/ChangeLog  | 308 ++++++++++++++++++++++++++++++++++++++++++++++++
 10 files changed, 862 insertions(+), 1 deletion(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 5f4d53c50688..3c37d272ccf6 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,147 @@
+2025-05-30  David Malcolm  <dmalcolm@redhat.com>
+
+	PR other/116792
+	* diagnostic-format-html.cc (HTML_STYLE): Add ".highlight-a" and
+	".highlight-b".
+	(html_builder::make_element_for_diagnostic): Handle begin_color
+	and end_color.
+	* diagnostic-show-locus.cc (to_html::to_html): Add "richloc"
+	param and use it to initialize m_richloc.
+	(to_html::colorize_text_for_range_idx): Drop.
+	(to_html::get_location_range_by_idx): New.
+	(to_html::get_highlight_color_for_range_idx): New.
+	(to_html::m_richloc): New field.
+	(print_html_span_start): Update for new param of to_html ctor.
+	(line_printer::m_was_in_range_p): New field.
+	(line_printer::m_last_range_idx): New field.
+	(layout_printer<Sink>::print_source_line): Use set_in_range
+	and set_outside_range rather than colorization calls.
+	(layout_printer<Sink>::set_in_range): New.
+	(layout_printer<Sink>::set_outside_range): New.
+	(layout_printer<Sink>::print_annotation_line): Use set_in_range
+	and set_outside_range rather than colorization calls.
+	(layout_printer<to_text>::begin_label): Convert param from label
+	to state_idx.  Add "is_label_text" param and use it to guard logic
+	for turning off colorization within paths.
+	(layout_printer<to_html>::begin_label): Likewise.  Push <span>
+	for any highlight color.
+	(layout_printer<to_text>::end_label): Likewise.
+	(layout_printer<to_text>::end_label): Likewise, popping the
+	<span>.
+	(layout_printer<Sink>::print_any_labels): Convert begin/end_label
+	calls to pass in state_idx rather than label.  Use begin/end_label
+	rather than colorization calls.
+	(layout_printer<Sink>::layout_printer): Likewise.
+	(layout_printer<Sink>::layout_printer): Initialize new fields.
+	(diagnostic_source_print_policy::print_as_html): Update for new
+	param of to_html ctor.
+
+2025-05-30  Andrew Pinski  <quic_apinski@quicinc.com>
+
+	* passes.cc (execute_all_ipa_transforms): Fix typo in
+	commenet.
+
+2025-05-30  Joseph Myers  <josmyers@redhat.com>
+
+	* doc/standards.texi (C Language): Document library facilities
+	provided in terms of headers not declaring functions with external
+	linkage, not in terms of headers required of freestanding
+	implementations.
+	* doc/sourcebuild.texi (Subdirectories, Headers): Likewise.
+	* doc/trouble.texi (Standard Libraries): Likewise.
+
+2025-05-30  Pan Li  <pan2.li@intel.com>
+
+	* config/riscv/autovec.md (avg<v_double_trunc>3_ceil): Add insn
+	expand to leverage vaadd with rnu directly.
+
+2025-05-30  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/120341
+	* tree-ssa-loop-im.cc (can_sm_ref_p): STRING_CSTs are readonly.
+	* tree-ssa-phiopt.cc (cond_store_replacement): Likewise.
+
+2025-05-30  Thomas Schwinge  <tschwinge@baylibre.com>
+	    Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/119835
+	* tree-nrv.cc (pass_nrv::execute): Defuse 'RESULT_DECL' check.
+
+2025-05-30  David Malcolm  <dmalcolm@redhat.com>
+
+	* diagnostic-show-locus.cc (colorizer::m_current_named_color): New
+	field.
+	(colorizer::set_named_color): Use it to consolidate repeated calls
+	to the same color.
+
+2025-05-30  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/120457
+	* tree-vect-slp.cc (vect_lower_load_permutations): Implement
+	the same heuristics as load vectorization for single-element
+	interleaving that spans multiple vectors.
+
+2025-05-30  Richard Sandiford  <richard.sandiford@arm.com>
+
+	PR rtl-optimization/120347
+	* rtlanal.cc (rtx_properties::try_to_add_src): Don't drop the
+	IN_MEM_LOAD and IN_MEM_STORE flags for autoinc registers.
+	* rtl-ssa/changes.cc (recog_level2): Check whether an
+	RTX_AUTOINCed register also appears outside of an address.
+
+2025-05-30  Julian Brown  <julian@codesourcery.com>
+	    Tobias Burnus  <tburnus@baylibre.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_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_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-30  Andrew Pinski  <quic_apinski@quicinc.com>
+
+	* gimple-ssa-sccopy.cc (scc_copy_prop::replace_scc_by_value): Return true
+	if something was done.
+	(scc_copy_prop::propagate): Return true if something was changed.
+	(pass_sccopy::execute): Return TODO_cleanup_cfg if a prop happened.
+
+2025-05-30  Kugan Vivekanandarajah  <kvivekananda@nvidia.com>
+
+	* auto-profile.cc (function_instance::merge): New.
+	(autofdo_source_profile::read): Call merge.
+
 2025-05-29  Kugan Vivekanandarajah  <kvivekananda@nvidia.com>
 
 	* config/aarch64/gcc-auto-profile: Make script executable.
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index ac2743335765..e844ed6f555e 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20250530
+20250531
diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog
index 8de6ae577d52..f54337225436 100644
--- a/gcc/c-family/ChangeLog
+++ b/gcc/c-family/ChangeLog
@@ -1,3 +1,15 @@
+2025-05-30  Julian Brown  <julian@codesourcery.com>
+	    Tobias Burnus  <tburnus@baylibre.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-27  Alejandro Colomar  <alx@kernel.org>
 	    Martin Uecker  <uecker@tugraz.at>
 
diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog
index f24c084914cc..f36431bbf0dc 100644
--- a/gcc/c/ChangeLog
+++ b/gcc/c/ChangeLog
@@ -1,3 +1,45 @@
+2025-05-30  Qing Zhao  <qing.zhao@oracle.com>
+
+	PR c/120354
+	* c-decl.cc (finish_struct): Or the results for TYPE_INCLUDES_FLEXARRAY.
+
+2025-05-30  Qing Zhao  <qing.zhao@oracle.com>
+
+	PR c/120353
+	* c-decl.cc (finish_struct): Copy TYPE_INCLUDES_FLEXARRAY marking
+	to all the variant types of the current structure type.
+
+2025-05-30  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 declare_mapper_p
+	parameter; handle mapper modifier.
+	(c_parser_omp_all_clauses): Update call to c_parser_omp_clause_map.
+	(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_parser_omp_declare_reduction): Use inform not error_at.
+	* 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-30  Martin Uecker  <uecker@tugraz.at>
+
+	PR c/120381
+	* c-typeck.cc (composite_type_internal): Stop recursion for
+	swapped pairs.
+
 2025-05-29  Sandra Loosemore  <sloosemore@baylibre.com>
 
 	* c-parser.cc (c_parser_skip_to_closing_brace): New, copied from
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 9e425ab6222f..3f05db3c8f4f 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,64 @@
+2025-05-30  Jason Merrill  <jason@redhat.com>
+
+	PR c++/113563
+	* lambda.cc (lambda_capture_field_type): Handle 'this' normally.
+	(build_capture_proxy): Special-case 'this' by-ref capture more.
+	(nonlambda_method_basetype): Look through xobj lambdas.
+
+2025-05-30  Julian Brown  <julian@codesourcery.com>
+	    Tobias Burnus  <tburnus@baylibre.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-29  David Malcolm  <dmalcolm@redhat.com>
 
 	* error.cc (cxx_format_postprocessor::clone): Update to use
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 1218bb8d446b..e740ecc05306 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,30 @@
+2025-05-30  Harald Anlauf  <anlauf@gmx.de>
+
+	PR fortran/102599
+	PR fortran/114022
+	* expr.cc (simplify_complex_array_inquiry_ref): Helper function for
+	simplification of inquiry references (%re/%im) of constant complex
+	arrays.
+	(find_inquiry_ref): Use it for handling %re/%im inquiry references
+	of complex arrays.
+	(scalarize_intrinsic_call): Fix frontend memleak.
+	* primary.cc (gfc_match_varspec): When the reference is NULL, the
+	previous simplification has succeeded in evaluating inquiry
+	references also of arrays.
+
+2025-05-30  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/120355
+	* interface.cc (compare_parameter): If the global function has a
+	result clause, take typespec from there for the comparison against
+	the dummy argument.
+
+2025-05-30  Julian Brown  <julian@codesourcery.com>
+	    Tobias Burnus  <tburnus@baylibre.com>
+
+	* parse.cc (tree.h, fold-const.h, tree-hash-traits.h): Add includes
+	(for additions to omp-general.h).
+
 2025-05-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
 
 	PR fortran/120049
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 27ddc571f77b..f0d91289e174 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,137 @@
+2025-05-30  David Malcolm  <dmalcolm@redhat.com>
+
+	PR other/116792
+	* gcc.dg/format/diagnostic-ranges-html.py: New test script.
+	* gcc.dg/format/diagnostic-ranges.c: Add HTML generation to
+	options, and invoke the new script to check the HTML output.
+
+2025-05-30  Jason Merrill  <jason@redhat.com>
+
+	PR c++/120123
+	* g++.dg/cpp23/explicit-obj-lambda18.C: New test.
+
+2025-05-30  Harald Anlauf  <anlauf@gmx.de>
+
+	PR fortran/102599
+	PR fortran/114022
+	* gfortran.dg/inquiry_type_ref_8.f90: New test.
+
+2025-05-30  Jason Merrill  <jason@redhat.com>
+
+	PR c++/113563
+	* g++.dg/cpp23/explicit-obj-lambda17.C: New test.
+
+2025-05-30  Qing Zhao  <qing.zhao@oracle.com>
+
+	PR c/120354
+	* gcc.dg/pr120354.c: New test.
+
+2025-05-30  Qing Zhao  <qing.zhao@oracle.com>
+
+	PR c/120353
+	* gcc.dg/pr120353.c: New test.
+
+2025-05-30  Pan Li  <pan2.li@intel.com>
+
+	* gcc.target/riscv/rvv/autovec/avg.h: Add test helper macros.
+	* gcc.target/riscv/rvv/autovec/avg_data.h: Add test data for
+	avg_ceil.
+	* gcc.target/riscv/rvv/autovec/avg_ceil-1-i16-from-i32.c: New test.
+	* gcc.target/riscv/rvv/autovec/avg_ceil-1-i16-from-i64.c: New test.
+	* gcc.target/riscv/rvv/autovec/avg_ceil-1-i32-from-i64.c: New test.
+	* gcc.target/riscv/rvv/autovec/avg_ceil-1-i8-from-i16.c: New test.
+	* gcc.target/riscv/rvv/autovec/avg_ceil-1-i8-from-i32.c: New test.
+	* gcc.target/riscv/rvv/autovec/avg_ceil-1-i8-from-i64.c: New test.
+	* gcc.target/riscv/rvv/autovec/avg_ceil-run-1-i16-from-i32.c: New test.
+	* gcc.target/riscv/rvv/autovec/avg_ceil-run-1-i16-from-i64.c: New test.
+	* gcc.target/riscv/rvv/autovec/avg_ceil-run-1-i32-from-i64.c: New test.
+	* gcc.target/riscv/rvv/autovec/avg_ceil-run-1-i8-from-i16.c: New test.
+	* gcc.target/riscv/rvv/autovec/avg_ceil-run-1-i8-from-i32.c: New test.
+	* gcc.target/riscv/rvv/autovec/avg_ceil-run-1-i8-from-i64.c: New test.
+
+2025-05-30  Pan Li  <pan2.li@intel.com>
+
+	* gcc.target/riscv/rvv/autovec/vls/avg-4.c: Update asm check
+	to vaadd.
+	* gcc.target/riscv/rvv/autovec/vls/avg-5.c: Ditto.
+	* gcc.target/riscv/rvv/autovec/vls/avg-6.c: Ditto.
+	* gcc.target/riscv/rvv/autovec/widen/vec-avg-rv32gcv.c: Ditto.
+	* gcc.target/riscv/rvv/autovec/widen/vec-avg-rv64gcv.c: Ditto.
+
+2025-05-30  Richard Biener  <rguenther@suse.de>
+
+	PR tree-optimization/120341
+	* gcc.dg/torture/pr120341-1.c: New testcase.
+	* gcc.dg/torture/pr120341-2.c: Likewise.
+
+2025-05-30  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/120480
+	* gcc.dg/pr120480.c: New test.
+
+2025-05-30  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-10.c: Likewise.
+	* c-c++-common/gomp/declare-mapper-12.c: Likewise.
+	* c-c++-common/gomp/map-6.c: Update dg-error.
+	* gcc.dg/gomp/udr-3.c: Update for change to dg-note.
+	* c-c++-common/gomp/declare-mapper-11.c: New.
+	* gcc.dg/gomp/declare-mapper-10.c: New test.
+	* gcc.dg/gomp/declare-mapper-11.c: New test.
+	* gcc.dg/gomp/declare-mapper-13.c: New test.
+
+2025-05-30  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+	PR fortran/120355
+	* gfortran.dg/interface_62.f90: New test.
+
+2025-05-30  David Malcolm  <dmalcolm@redhat.com>
+
+	* g++.dg/diagnostic/bad-binary-ops-highlight-colors.C: Update
+	expected multiline output for quoted source and underlines to
+	reflect emitting color codes when changes happen, rather than
+	per character.
+	* g++.dg/diagnostic/long-short-colorization.C: Likewise.
+	* g++.dg/plugin/show-template-tree-color-labels.C: Likewise.
+	* gcc.dg/bad-binary-ops-highlight-colors.c: Likewise.
+	* gcc.dg/format/colors.c: Likewise.
+
+2025-05-30  Richard Sandiford  <richard.sandiford@arm.com>
+
+	PR rtl-optimization/120347
+	* gcc.dg/torture/pr120347.c: New test.
+
+2025-05-30  Julian Brown  <julian@codesourcery.com>
+	    Tobias Burnus  <tburnus@baylibre.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-10.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.
+	* g++.dg/gomp/declare-mapper-3.C: New test.
+
+2025-05-30  Martin Uecker  <uecker@tugraz.at>
+
+	PR c/120381
+	* gcc.dg/pr120381.c: New test.
+	* gcc.dg/gnu23-tag-composite-6.c: New test.
+
 2025-05-29  Kugan Vivekanandarajah  <kvivekananda@nvidia.com>
 
 	* lib/target-supports.exp: Enable autofdo tests for aarch64.
diff --git a/include/ChangeLog b/include/ChangeLog
index 310a5d5d43cb..51107161325e 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,10 @@
+2025-05-30  Julian Brown  <julian@codesourcery.com>
+	    Tobias Burnus  <tburnus@baylibre.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-14  Andreas Schwab  <schwab@suse.de>
 
 	* libiberty.h (mkstemps): Remove duplicate.
diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog
index fd9d59e2be06..78bbf2637952 100644
--- a/libgomp/ChangeLog
+++ b/libgomp/ChangeLog
@@ -1,3 +1,129 @@
+2025-05-30  Thomas Schwinge  <tschwinge@baylibre.com>
+
+	* testsuite/libgomp.c++/target-std__valarray-1.C: New.
+	* testsuite/libgomp.c++/target-std__valarray-1.output: Likewise.
+
+2025-05-30  Thomas Schwinge  <tschwinge@baylibre.com>
+
+	* testsuite/libgomp.c++/target-std__array-concurrent-usm.C: New.
+	* testsuite/libgomp.c++/target-std__array-concurrent.C: Adjust.
+	* testsuite/libgomp.c++/target-std__bitset-concurrent-usm.C: New.
+	* testsuite/libgomp.c++/target-std__bitset-concurrent.C: Adjust.
+	* testsuite/libgomp.c++/target-std__deque-concurrent-usm.C: New.
+	* testsuite/libgomp.c++/target-std__deque-concurrent.C: Adjust.
+	* testsuite/libgomp.c++/target-std__forward_list-concurrent-usm.C: New.
+	* testsuite/libgomp.c++/target-std__forward_list-concurrent.C: Adjust.
+	* testsuite/libgomp.c++/target-std__list-concurrent-usm.C: New.
+	* testsuite/libgomp.c++/target-std__list-concurrent.C: Adjust.
+	* testsuite/libgomp.c++/target-std__map-concurrent-usm.C: New.
+	* testsuite/libgomp.c++/target-std__map-concurrent.C: Adjust.
+	* testsuite/libgomp.c++/target-std__multimap-concurrent-usm.C: New.
+	* testsuite/libgomp.c++/target-std__multimap-concurrent.C: Adjust.
+	* testsuite/libgomp.c++/target-std__multiset-concurrent-usm.C: New.
+	* testsuite/libgomp.c++/target-std__multiset-concurrent.C: Adjust.
+	* testsuite/libgomp.c++/target-std__set-concurrent-usm.C: New.
+	* testsuite/libgomp.c++/target-std__set-concurrent.C: Adjust.
+	* testsuite/libgomp.c++/target-std__span-concurrent-usm.C: New.
+	* testsuite/libgomp.c++/target-std__span-concurrent.C: Adjust.
+	* testsuite/libgomp.c++/target-std__valarray-concurrent-usm.C: New.
+	* testsuite/libgomp.c++/target-std__valarray-concurrent.C: Adjust.
+	* testsuite/libgomp.c++/target-std__vector-concurrent-usm.C: New.
+	* testsuite/libgomp.c++/target-std__vector-concurrent.C: Adjust.
+
+2025-05-30  Kwok Cheung Yeung  <kcyeung@baylibre.com>
+	    Thomas Schwinge  <tschwinge@baylibre.com>
+
+	* testsuite/libgomp.c++/target-std__array-concurrent.C: New.
+	* testsuite/libgomp.c++/target-std__bitset-concurrent.C: Likewise.
+	* testsuite/libgomp.c++/target-std__deque-concurrent.C: Likewise.
+	* testsuite/libgomp.c++/target-std__flat_map-concurrent.C: Likewise.
+	* testsuite/libgomp.c++/target-std__flat_multimap-concurrent.C: Likewise.
+	* testsuite/libgomp.c++/target-std__flat_multiset-concurrent.C: Likewise.
+	* testsuite/libgomp.c++/target-std__flat_set-concurrent.C: Likewise.
+	* testsuite/libgomp.c++/target-std__forward_list-concurrent.C: Likewise.
+	* testsuite/libgomp.c++/target-std__list-concurrent.C: Likewise.
+	* testsuite/libgomp.c++/target-std__map-concurrent.C: Likewise.
+	* testsuite/libgomp.c++/target-std__multimap-concurrent.C: Likewise.
+	* testsuite/libgomp.c++/target-std__multiset-concurrent.C: Likewise.
+	* testsuite/libgomp.c++/target-std__set-concurrent.C: Likewise.
+	* testsuite/libgomp.c++/target-std__span-concurrent.C: Likewise.
+	* testsuite/libgomp.c++/target-std__unordered_map-concurrent.C: Likewise.
+	* testsuite/libgomp.c++/target-std__unordered_multimap-concurrent.C: Likewise.
+	* testsuite/libgomp.c++/target-std__unordered_multiset-concurrent.C: Likewise.
+	* testsuite/libgomp.c++/target-std__unordered_set-concurrent.C: Likewise.
+	* testsuite/libgomp.c++/target-std__valarray-concurrent.C: Likewise.
+	* testsuite/libgomp.c++/target-std__vector-concurrent.C: Likewise.
+
+2025-05-30  Kwok Cheung Yeung  <kcyeung@baylibre.com>
+
+	* testsuite/libgomp.c++/target-std__cmath.C: New.
+	* testsuite/libgomp.c++/target-std__complex.C: Likewise.
+	* testsuite/libgomp.c++/target-std__numbers.C: Likewise.
+
+2025-05-30  Waffl3x  <waffl3x@baylibre.com>
+	    Thomas Schwinge  <tschwinge@baylibre.com>
+
+	* testsuite/libgomp.c++/target-flex-10.C: New test.
+	* testsuite/libgomp.c++/target-flex-100.C: New test.
+	* testsuite/libgomp.c++/target-flex-101.C: New test.
+	* testsuite/libgomp.c++/target-flex-11.C: New test.
+	* testsuite/libgomp.c++/target-flex-12.C: New test.
+	* testsuite/libgomp.c++/target-flex-2000.C: New test.
+	* testsuite/libgomp.c++/target-flex-2001.C: New test.
+	* testsuite/libgomp.c++/target-flex-2002.C: New test.
+	* testsuite/libgomp.c++/target-flex-2003.C: New test.
+	* testsuite/libgomp.c++/target-flex-30.C: New test.
+	* testsuite/libgomp.c++/target-flex-300.C: New test.
+	* testsuite/libgomp.c++/target-flex-31.C: New test.
+	* testsuite/libgomp.c++/target-flex-32.C: New test.
+	* testsuite/libgomp.c++/target-flex-33.C: New test.
+	* testsuite/libgomp.c++/target-flex-41.C: New test.
+	* testsuite/libgomp.c++/target-flex-60.C: New test.
+	* testsuite/libgomp.c++/target-flex-61.C: New test.
+	* testsuite/libgomp.c++/target-flex-62.C: New test.
+	* testsuite/libgomp.c++/target-flex-70.C: New test.
+	* testsuite/libgomp.c++/target-flex-80.C: New test.
+	* testsuite/libgomp.c++/target-flex-81.C: New test.
+	* testsuite/libgomp.c++/target-flex-90.C: New test.
+	* testsuite/libgomp.c++/target-flex-common.h: New test.
+
+2025-05-30  Thomas Schwinge  <tschwinge@baylibre.com>
+	    Richard Biener  <rguenther@suse.de>
+
+	PR middle-end/119835
+	* testsuite/libgomp.oacc-c-c++-common/abi-struct-1.c:
+	'#pragma GCC optimize "-fno-inline"'.
+	* testsuite/libgomp.c-c++-common/target-abi-struct-1.c: New.
+	* testsuite/libgomp.c-c++-common/target-abi-struct-1-O0.c: Adjust.
+
+2025-05-30  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-30  Julian Brown  <julian@codesourcery.com>
+	    Tobias Burnus  <tburnus@baylibre.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-29  Tobias Burnus  <tburnus@baylibre.com>
 
 	PR libgomp/93226
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index e3da41b4b6e0..9df2d574a709 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,311 @@
+2025-05-30  Tomasz Kamiński  <tkaminsk@redhat.com>
+
+	* testsuite/std/time/format/empty_spec.cc: New test.
+
+2025-05-30  Jonathan Wakely  <jwakely@redhat.com>
+
+	* include/bits/atomic_timed_wait.h: Use __wait_result_type.
+	* include/bits/atomic_wait.h (__wait_result_type): New struct.
+	(__wait_args::_M_prep_for_wait_on): Rename to _M_setup_wait, use
+	__wait_result_type.
+	(__atomic_wait_address): Adjust to call _M_setup_wait.
+	* src/c++20/atomic.cc (__spin_impl): Use __wait_result_type.
+	(__wait_impl): Likewise.
+	(__spin_until_impl): Likewise.
+	(__wait_until_impl): Likewise.
+
+2025-05-30  Jonathan Wakely  <jwakely@redhat.com>
+
+	PR libstdc++/118494
+	PR libstdc++/110854
+	PR libstdc++/98749
+	* acinclude.m4 (GLIBCXX_CHECK_GTHREADS): Remove checks for
+	sem_timedwait. Do not define _GLIBCXX_HAVE_POSIX_SEMAPHORE.
+	* config.h.in: Regenerate.
+	* configure: Regenerate.
+	* include/bits/semaphore_base.h (__platform_semaphore): Remove.
+	(__atomic_semaphore): Replace with __semaphore_base<bool> and
+	make type of _M_count depend on template parameter. Fix _S_max
+	constant to use correct type.
+	(__semaphore_base::_M_try_acquire): Qualify to avoid ADL.
+	(__semaphore_base::_M_release): Return old value. Remove FIXME
+	comment.
+	(__semaphore_impl): Replace typedef with alias template.
+	* include/bits/version.def (semaphore): Do not depend on
+	_GLIBCXX_HAVE_POSIX_SEMAPHORE.
+	* include/bits/version.h: Regenerate.
+	* include/std/semaphore (semaphore): Adjust type of _M_sem
+	member. Add constexpr to constructor. Add assertions to
+	(semaphore::semaphore(ptrdiff_t)): Add constexpr. Add assertion
+	for precondition.
+	(semaphore::release): Add assertion using value returned from
+	_M_release.
+	* testsuite/30_threads/semaphore/100806.cc: Increase template
+	argument for std::counting_semaphore, so constructor
+	precondition is met.
+	* testsuite/30_threads/semaphore/cons.cc: New test.
+	* testsuite/30_threads/semaphore/try_acquire_posix.cc: Remove.
+	* testsuite/30_threads/semaphore/platform_try_acquire_for.cc:
+	Removed.
+
+2025-05-30  Jonathan Wakely  <jwakely@redhat.com>
+
+	* include/std/barrier (__tree_barrier_base): New class.
+	(__tree_barrier): Move non-dependent code into
+	__tree_barrier_base and derive from it.
+
+2025-05-30  Jonathan Wakely  <jwakely@redhat.com>
+
+	PR libstdc++/118395
+	PR libstdc++/108974
+	PR libstdc++/98749
+	* include/std/barrier (__tree_barrier): Use default
+	member-initializers. Change _M_state member from
+	unique_ptr<__state_t[]> to atomic<__state_t*>. Add
+	no_unique_address attribute to _M_completion.
+	(__tree_barrier::_M_arrive): Load value from _M_state.
+	(__tree_barrier::_M_invoke_completion): New member function to
+	ensure a throwing completion function will terminate, as
+	proposed in LWG 3898.
+	(__tree_barrier::max): Reduce by one to avoid overflow.
+	(__tree_barrier::__tree_barrier): Add constexpr. Qualify call to
+	std::move. Remove mem-initializers made unnecessary by default
+	member-initializers. Add precondition check. Only allocate state
+	array if not constant evaluated.
+	(__tree_barrier::arrive): Add precondition check. Do deferred
+	initialization of _M_state if needed.
+	(barrier): Add static_assert, as proposed in LWG 3898.
+	(barrier::barrier): Add constexpr.
+	* testsuite/30_threads/barrier/cons.cc: New test.
+	* testsuite/30_threads/barrier/lwg3898.cc: New test.
+
+2025-05-30  Jonathan Wakely  <jwakely@redhat.com>
+
+	* include/std/latch (latch::arrive_and_wait): Optimise.
+
+2025-05-30  Jonathan Wakely  <jwakely@redhat.com>
+
+	* config/abi/pre/gnu.ver: Add new symbol version and exports.
+	* include/bits/atomic_timed_wait.h (__platform_wait_until): Move
+	to atomic.cc.
+	(__cond_wait_until, __spin_until_impl): Likewise.
+	(__wait_until_impl): Likewise. Change __wait_args_base parameter
+	to non-const reference and change third parameter to
+	__wait_clock_t::duration.
+	(__wait_until): Change __wait_args_base parameter to non-const
+	reference. Change Call time_since_epoch() to get duration from
+	time_point.
+	(__wait_for): Change __wait_args_base parameter to non-const
+	reference.
+	(__atomic_wait_address_until): Call _M_prep_for_wait_on on args.
+	(__atomic_wait_address_for): Likewise.
+	(__atomic_wait_address_until_v): Qualify call to avoid ADL. Do
+	not forward __vfn.
+	* include/bits/atomic_wait.h (__platform_wait_uses_type): Use
+	alignof(T) not alignof(T*).
+	(__futex_wait_flags, __platform_wait, __platform_notify)
+	(__waitable_state, __spin_impl, __notify_impl): Move to
+	atomic.cc.
+	(__wait_impl): Likewise. Change __wait_args_base parameter to
+	non-const reference.
+	(__wait_args_base::_M_wait_state): New data member.
+	(__wait_args_base::_M_prep_for_wait_on): New member function.
+	(__wait_args_base::_M_load_proxy_wait_val): New member
+	function.
+	(__wait_args_base::_S_memory_order_for): Remove member function.
+	(__atomic_wait_address): Call _M_prep_for_wait_on on args.
+	(__atomic_wait_address_v): Qualify call to avoid ADL.
+	* src/c++20/Makefile.am: Add new file.
+	* src/c++20/Makefile.in: Regenerate.
+	* src/c++20/atomic.cc: New file.
+	* testsuite/17_intro/headers/c++1998/49745.cc: Remove XFAIL for
+	C++20 and later.
+	* testsuite/29_atomics/atomic/wait_notify/100334.cc: Remove use
+	of internal implementation details.
+	* testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.35 version.
+
+2025-05-30  Jonathan Wakely  <jwakely@redhat.com>
+
+	* include/bits/atomic_timed_wait.h (__wait_until_impl): Adjust
+	to use new naming.
+	* include/bits/atomic_wait.h (__waiter_pool_impl): Rename to
+	__waitable_state.
+	(__waiter_pool_impl::_S_wait): Rename to _M_waiters.
+	(__waiter_pool_impl::_S_impl_for): Rename to _S_state_for.
+	(__waiter_pool_impl::_S_track): Adjust to use new naming.
+	(__wait_impl, __notify_impl): Likewise.
+	* testsuite/29_atomics/atomic/wait_notify/100334.cc: Adjust to
+	use new naming.
+
+2025-05-30  Jonathan Wakely  <jwakely@redhat.com>
+
+	* include/bits/atomic_timed_wait.h
+	(__atomic_wait_address_until_v): Replace __atomic_compare with
+	__atomic_eq.
+	(__atomic_wait_address_for_v): Likewise.
+	* include/bits/atomic_wait.h (__atomic_compare): Rename to
+	__atomic_eq.
+	(__atomic_wait_address_v): Replace __atomic_compare with
+	__atomic_eq.
+
+2025-05-30  Jonathan Wakely  <jwakely@redhat.com>
+
+	* include/bits/atomic_timed_wait.h (__wait_until_impl): Change
+	first parameter to const void* and then static_cast to const
+	__platform_wait_t* when not using proxied wait.
+	(__wait_until): Change first parameter to const void*.
+	(__wait_for): Likewise.
+	(__atomic_wait_address_until): Remove reinterpret_cast and allow
+	address to implicitly convert to const void* instead.
+	(__atomic_wait_address_for): Likewise.
+	* include/bits/atomic_wait.h: (__wait_impl, __notify_impl):
+	Change first parameter to const void* and then static_cast to
+	const __platform_wait_t* when not using proxied wait.
+	(__atomic_wait_address, __atomic_notify_address) Remove
+	reinterpret_cast and allow address to implicitly convert to
+	const void* instead.
+
+2025-05-30  Jonathan Wakely  <jwakely@redhat.com>
+
+	* include/bits/atomic_wait.h (__platform_wait): Change function
+	template to a normal function. The parameter is always
+	__platform_wait_t* which is just int* for this implementation of
+	the function.
+	(__platform_notify): Likewise.
+
+2025-05-30  Jonathan Wakely  <jwakely@redhat.com>
+
+	* include/bits/atomic_timed_wait.h (__to_wait_clock): Do not use
+	chrono::ceil if clock and duration are already correct type.
+	(__wait_until): Always call __to_wait_clock.
+
+2025-05-30  Jonathan Wakely  <jwakely@redhat.com>
+
+	* include/bits/atomic_wait.h (__notify_impl): Increment the
+	proxy value before returning early for the uncontended case.
+
+2025-05-30  Jonathan Wakely  <jwakely@redhat.com>
+
+	* include/bits/atomic_timed_wait.h (__cond_wait_impl): Add
+	missing inline keyword.
+	(__spin_until_impl): Change parameter from pointer to reference.
+	Replace make_pair with list-initialization.  Initialize variable
+	for return value.
+	(__wait_until_impl): Likewise. Remove some preprocessor
+	conditional logic. Use _S_track for contention tracking.
+	Avoid unnecessary const_cast.
+	(__wait_until): Change parameter from pointer to reference.
+	Replace make_pair with list-initialization.
+	(__wait_for):  Change parameter from pointer to reference. Add
+	__do_spin flag to args.
+	* include/bits/atomic_wait.h (__waiter_pool_impl::_S_track): New
+	function returning an RAII object for contention tracking.
+	(__wait_flags): Do not set the __do_spin flag in the __spin_only
+	enumerator. Comment out the unused __abi_version_mask
+	enumerator.  Define operator| and operator|= overloads.
+	(__wait_args_base::operator&): Define.
+	(__wait_args::operator&, __wait_args::_S_default_flags): Remove.
+	(__wait_args::operator|, __wait_args::operator|=): Remove.
+	(__spin_impl): Change parameter from pointer to reference.
+	Replace make_pair call with list-initialization.
+	(__wait_impl): Likewise.  Remove some preprocessor conditional
+	logic.  Always store old value in __args._M_old. Avoid
+	unnecessary const_cast. Use _S_track.
+	(__notify_impl): Change parameter to reference. Remove some
+	preprocessor conditional logic.
+	(__atomic_wait_address): Add comment. Update __args._M_old on
+	each iteration.
+	(__atomic_wait_address_v): Add comment.
+	* include/std/latch (latch::wait): Adjust predicates for new
+	logic.
+	* testsuite/29_atomics/atomic_integral/wait_notify.cc: Improve
+	test.
+
+2025-05-30  Jonathan Wakely  <jwakely@redhat.com>
+
+	* include/bits/atomic_timed_wait.h: Whitespace fixes.
+	* include/bits/atomic_wait.h: Likewise.
+
+2025-05-30  Thomas Rodgers  <trodgers@redhat.com>
+
+	* include/bits/atomic_timed_wait.h (__spin_until_impl): Accept
+	__wait_args as const __wait_args_base*.
+	(__wait_until_impl): Likewise.
+	(__wait_until): Likewise.
+	(__wait_for): Likewise.
+	(__atomic_wait_address_until): Pass __wait_args by address.
+	(__atomic_wait_address_for): Likewise.
+	* include/bits/atomic_wait.h (__wait_args_base): New struct.
+	(__wait_args): Derive from __wait_args_base.
+	(__wait_args::__wait_args()): Adjust ctors to call call base ctor.
+	(__wait_args::__wait_args(const __wait_args_base&)): New ctor.
+	(__wait_args::operator|=): New method.
+	(__wait_args::_S_flags_for): Change return type to
+	__wait_flags.
+	(__spin_impl): Accept __wait_args as const __wait_args_base*.
+	(__wait_impl): Likewise.
+	(__notify_impl): Likewise.
+	(__atomic_wait_address): Pass __wait_args by address.
+	(__atomic_wait_address_v): Likewise.
+	(__atomic_notify_address): Likewise.
+
+2025-05-30  Thomas Rodgers  <trodgers@redhat.com>
+
+	* include/bits/atomic_timed_wait.h:
+	(__detail::__platform_wait_until_impl): Rename to
+	__platform_wait_until.
+	(__detail::__platform_wait_until): Remove previous
+	definition.
+	(__detail::__cond_wait_until_impl): Rename to
+	__cond_wait_until.
+	(__detail::__cond_wait_until): Remove previous
+	definition.
+	(__detail::__spin_until_impl): New function.
+	(__detail::__wait_until_impl): New function.
+	(__detail::__wait_until): New function.
+	(__detail::__wait_for): New function.
+	(__detail::__timed_waiter_pool): Remove type.
+	(__detail::__timed_backoff_spin_policy): Remove type.
+	(__detail::__timed_waiter): Remove type.
+	(__detail::__enters_timed_wait): Remove type alias.
+	(__detail::__bare_timed_wait): Remove type alias.
+	(__atomic_wait_address_until): Adjust to new implementation
+	detail.
+	(__atomic_wait_address_until_v): Likewise.
+	(__atomic_wait_address_bare): Remove.
+	(__atomic_wait_address_for): Adjust to new implementation
+	detail.
+	(__atomic_wait_address_for_v): Likewise.
+	(__atomic_wait_address_for_bare): Remove.
+	* include/bits/atomic_wait.h: Include bits/stl_pair.h.
+	(__detail::__default_spin_policy): Remove type.
+	(__detail::__atomic_spin): Remove function.
+	(__detail::__waiter_pool_base): Rename to __waiter_pool_impl.
+	Remove _M_notify.  Rename _S_for to _S_impl_for.
+	(__detail::__waiter_base): Remove type.
+	(__detail::__waiter_pool): Remove type.
+	(__detail::__waiter): Remove type.
+	(__detail::__enters_wait): Remove type alias.
+	(__detail::__bare_wait): Remove type alias.
+	(__detail::__wait_flags): New enum.
+	(__detail::__wait_args): New struct.
+	(__detail::__wait_result_type): New type alias.
+	(__detail::__spin_impl): New function.
+	(__detail::__wait_impl): New function.
+	(__atomic_wait_address): Adjust to new implementation detail.
+	(__atomic_wait_address_v): Likewise.
+	(__atomic_notify_address): Likewise.
+	(__atomic_wait_address_bare): Delete.
+	(__atomic_notify_address_bare): Likewise.
+	* include/bits/semaphore_base.h: Adjust implementation to
+	use new __atomic_wait_address_v contract.
+	* include/std/barrier: Adjust implementation to use new
+	__atomic_wait contract.
+	* include/std/latch: Adjust implementation to use new
+	__atomic_wait contract.
+	* testsuite/29_atomics/atomic/wait_notify/100334.cc (main):
+	Adjust to for __detail::__waiter_pool_base renaming.
+
 2025-05-29  Patrick Palka  <ppalka@redhat.com>
 
 	* include/std/flat_map (_Flat_map_impl::operator==): Compare


More information about the Libstdc++-cvs mailing list