aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog385
-rw-r--r--gcc/DATESTAMP2
-rw-r--r--gcc/c-family/ChangeLog8
-rw-r--r--gcc/cp/ChangeLog17
-rw-r--r--gcc/fortran/ChangeLog13
-rw-r--r--gcc/testsuite/ChangeLog61
-rw-r--r--libstdc++-v3/ChangeLog22
7 files changed, 507 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 98a1d51..ea38e75 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,388 @@
+2024-05-23 Andrew MacLeod <amacleod@redhat.com>
+
+ * gimple-range-edge.h (range_query::condexpr_adjust): Delete.
+ * gimple-range-fold.cc (fold_using_range::range_of_range_op): Use
+ gori_ssa routine.
+ (fold_using_range::range_of_address): Likewise.
+ (fold_using_range::range_of_phi): Likewise.
+ (fold_using_range::condexpr_adjust): Relocated from gori_compute.
+ (fold_using_range::range_of_cond_expr): Use local condexpr_adjust.
+ (fur_source::register_outgoing_edges): Use gori_ssa routine.
+ * gimple-range-fold.h (gori_ssa): Rename from gori_bb.
+ (fold_using_range::condexpr_adjust): Add prototype.
+ * gimple-range-gori.cc (gori_compute::condexpr_adjust): Relocate.
+ * gimple-range-gori.h (gori_compute::condexpr_adjust): Delete.
+
+2024-05-23 Andrew MacLeod <amacleod@redhat.com>
+
+ * gimple-range-cache.cc (ranger_cache::ranger_cache): Use gori_ssa.
+ (ranger_cache::dump): Likewise.
+ (ranger_cache::get_global_range): Likewise.
+ (ranger_cache::set_global_range): Likewise.
+ (ranger_cache::register_inferred_value): Likewise.
+ * gimple-range-edge.h (gimple_outgoing_range::map): Remove.
+ * gimple-range-fold.cc (fold_using_range::range_of_range_op): Use
+ gori_ssa.
+ (fold_using_range::range_of_address): Likewise.
+ (fold_using_range::range_of_phi): Likewise.
+ (fur_source::register_outgoing_edges): Likewise.
+ * gimple-range-fold.h (fur_source::query): Make const.
+ (gori_ssa): New.
+ * gimple-range-gori.cc (gori_map::dump): Use 'this' pointer.
+ (gori_compute::gori_compute): Construct with a gori_map.
+ * gimple-range-gori.h (gori_compute:gori_compute): Change
+ prototype.
+ (gori_compute::map): Delete.
+ (gori_compute::m_map): Change to a reference.
+ (FOR_EACH_GORI_IMPORT_NAME): Change parameter gori to gorimap.
+ (FOR_EACH_GORI_EXPORT_NAME): Likewise.
+ * gimple-range-path.cc (path_range_query::compute_ranges_in_block):
+ Use gori_ssa method.
+ (path_range_query::compute_exit_dependencies): Likewise.
+ * gimple-range.cc (gimple_ranger::range_of_stmt): Likewise.
+ (gimple_ranger::register_transitive_inferred_ranges): Likewise.
+ * tree-ssa-dom.cc (set_global_ranges_from_unreachable_edges):
+ Likewise.
+ * tree-ssa-threadedge.cc (compute_exit_dependencies): Likewise.
+ * tree-vrp.cc (remove_unreachable::handle_early): Likewise.
+ (remove_unreachable::remove_and_update_globals): Likewise.
+ * value-query.cc (range_query::create_gori): Create gori map.
+ (range_query::share_query): Copy gori map member.
+ (range_query::range_query): Initiialize gori_map member.
+ * value-query.h (range_query::gori_ssa): New.
+ (range_query::m_map): New.
+
+2024-05-23 Andrew MacLeod <amacleod@redhat.com>
+
+ * gimple-range-cache.cc (ranger_cache::ranger_cache): Create
+ GORi via the range_query instead of a local member.
+ (ranger_cache::dump_bb): Use gori via from the range_query parent.
+ (ranger_cache::get_global_range): Likewise.
+ (ranger_cache::set_global_range): Likewise.
+ (ranger_cache::edge_range): Likewise.
+ (anger_cache::block_range): Likewise.
+ (ranger_cache::fill_block_cache): Likewise.
+ (ranger_cache::range_from_dom): Likewise.
+ (ranger_cache::register_inferred_value): Likewise.
+ * gimple-range-cache.h (ranger_cache::m_gori): Delete.
+ * gimple-range-fold.cc (fur_source::fur_source): Set m_depend_p.
+ (fur_depend::fur_depend): Remove gori parameter.
+ * gimple-range-fold.h (fur_source::gori): Adjust.
+ (fur_source::m_gori): Delete.
+ (fur_source::m_depend): New.
+ (fur_depend::fur_depend): Adjust prototype.
+ * gimple-range-path.cc (path_range_query::path_range_query): Share
+ ranger oracles.
+ (path_range_query::range_defined_in_block): Use oracle directly.
+ (path_range_query::compute_ranges_in_block): Use new gori() method.
+ (path_range_query::adjust_for_non_null_uses): Use oracle directly.
+ (path_range_query::compute_exit_dependencies): Likewise.
+ (jt_fur_source::jt_fur_source): No gori in the parameters.
+ (path_range_query::range_of_stmt): Likewise.
+ (path_range_query::compute_outgoing_relations): Likewise.
+ * gimple-range.cc (gimple_ranger::fold_range_internal): Likewise.
+ (gimple_ranger::range_of_stmt): Access gori via gori () method.
+ (assume_query::range_of_expr): Create a gori object.
+ (assume_query::~assume_query): Destroy a gori object.
+ (assume_query::calculate_op): Remove old gori() accessor.
+ * gimple-range.h (gimple_ranger::gori): Delete.
+ (assume_query::~assume_query): New.
+ (assume_query::m_gori): Delete.
+ * tree-ssa-dom.cc (set_global_ranges_from_unreachable_edges): use
+ gori () method.
+ * tree-ssa-threadedge.cc (compute_exit_dependencies): Likewise.
+ * value-query.cc (default_gori): New.
+ (range_query::create_gori): New.
+ (range_query::destroy_gori): New.
+ (range_query::share_oracles): Set m_gori.
+ (range_query::range_query): Set m_gori to default.
+ (range_query::~range_query): call destroy gori.
+ * value-query.h (range_query): Adjust prototypes
+ (range_query::m_gori): New.
+
+2024-05-23 Andrew MacLeod <amacleod@redhat.com>
+
+ * gimple-range-cache.cc (ranger_cache::ranger_cache): Adjust
+ m_gori constructor.
+ (ranger_cache::edge_range): Use renamed edge_range_p name.
+ (ranger_cache::range_from_dom): Likewise.
+ * gimple-range-edge.h (gimple_outgoing_range::condexpr_adjust): New.
+ (gimple_outgoing_range::has_edge_range_p): New.
+ (gimple_outgoing_range::dump): New.
+ (gimple_outgoing_range::compute_operand_range): New.
+ (gimple_outgoing_range::map): New.
+ * gimple-range-fold.cc (fur_source::register_outgoing_edges ): Use
+ renamed edge_range_p routine
+ * gimple-range-gori.cc (gori_compute::gori_compute): Adjust
+ constructor.
+ (gori_compute::~gori_compute): New.
+ (gori_compute::edge_range_p): Rename from outgoing_edge_range_p
+ and use inherited routine instead of member method.
+ * gimple-range-gori.h (class gori_compute): Inherit from
+ gimple_outgoing_range, adjust protoypes.
+ (gori_compute::outgpoing): Delete.
+ * gimple-range-path.cc (path_range_query::compute_ranges_in_block): Use
+ renamed edge_range_p routine.
+ * tree-ssa-loop-unswitch.cc (evaluate_control_stmt_using_entry_checks):
+ Likewise.
+
+2024-05-23 Andrew MacLeod <amacleod@redhat.com>
+
+ * gimple-range-cache.cc (ranger_cache::ranger_cache): Access
+ gori_map via member call.
+ (ranger_cache::dump_bb): Likewise.
+ (ranger_cache::get_global_range): Likewise.
+ (ranger_cache::set_global_range): Likewise.
+ (ranger_cache::register_inferred_value): Likewise.
+ * gimple-range-fold.cc (fold_using_range::range_of_range_op): Likewise.
+ (fold_using_range::range_of_address): Likewise.
+ (fold_using_range::range_of_phi): Likewise.
+ * gimple-range-gori.cc (gori_compute::compute_operand_range_switch):
+ likewise.
+ (gori_compute::compute_operand_range): Likewise.
+ (gori_compute::compute_logical_operands): Likewise.
+ (gori_compute::refine_using_relation): Likewise.
+ (gori_compute::compute_operand1_and_operand2_range): Likewise.
+ (gori_compute::may_recompute_p): Likewise.
+ (gori_compute::has_edge_range_p): Likewise.
+ (gori_compute::outgoing_edge_range_p): Likewise.
+ (gori_compute::condexpr_adjust): Likewise.
+ * gimple-range-gori.h (class gori_compute): Do not inherit from
+ gori_map.
+ (gori_compute::m_map): New.
+ * gimple-range-path.cc (gimple-range-path.cc): Use gori_map member.
+ (path_range_query::compute_exit_dependencies): Likewise.
+ * gimple-range.cc (gimple_ranger::range_of_stmt): Likewise.
+ (gimple_ranger::register_transitive_inferred_ranges): Likewise.
+ * tree-ssa-dom.cc (set_global_ranges_from_unreachable_edges): Likewise.
+ * tree-ssa-threadedge.cc (compute_exit_dependencies): Likewise.
+ * tree-vrp.cc (remove_unreachable::handle_early): Likewise.
+ (remove_unreachable::remove_and_update_globals): Likewise.
+
+2024-05-23 Andrew MacLeod <amacleod@redhat.com>
+
+ * gimple-range-edge.cc (gimple_outgoing_range::gimple_outgoing_range):
+ Do not allocate a range allocator at construction time.
+ (gimple_outgoing_range::~gimple_outgoing_range): Delete allocator
+ if one was allocated.
+ (gimple_outgoing_range::set_switch_limit): New.
+ (gimple_outgoing_range::switch_edge_range): Create an allocator if one
+ does not exist.
+ (gimple_outgoing_range::edge_range_p): Check for zero edges.
+ * gimple-range-edge.h (class gimple_outgoing_range): Adjust prototypes.
+
+2024-05-23 Andrew MacLeod <amacleod@redhat.com>
+
+ PR tree-optimization/113879
+ * gimple-range-fold.cc (op1_range): New.
+ (op2_range): New.
+ * gimple-range-fold.h (op1_range): New prototypes.
+ (op2_range): New prototypes.
+ * gimple-range-infer.cc (gimple_infer_range::add_range): Do not
+ add an inferred range if it is VARYING.
+ (gimple_infer_range::gimple_infer_range): Add inferred ranges
+ for any range-op statements if requested.
+ * gimple-range-infer.h (gimple_infer_range): Add parameter.
+
+2024-05-23 Andrew MacLeod <amacleod@redhat.com>
+
+ * gimple-range-cache.cc (ranger_cache::ranger_cache): Create an infer
+ oracle instead of a local member.
+ (ranger_cache::~ranger_cache): Destroy the oracle.
+ (ranger_cache::edge_range): Use oracle.
+ (ranger_cache::fill_block_cache): Likewise.
+ (ranger_cache::range_from_dom): Likewise.
+ (ranger_cache::apply_inferred_ranges): Likewise.
+ * gimple-range-cache.h (ranger_cache::m_exit): Delete.
+ * gimple-range-infer.cc (infer_oracle): New static object;
+ (class infer_oracle): New.
+ (non_null_wrapper::non_null_wrapper): New.
+ (non_null_wrapper::add_nonzero): New.
+ (non_null_wrapper::add_range): New.
+ (non_null_loadstore): Use nonnull_wrapper.
+ (gimple_infer_range::gimple_infer_range): New alternate constructor.
+ (exit_range::stmt): New.
+ (infer_range_manager::has_range_p): Combine seperate methods.
+ (infer_range_manager::maybe_adjust_range): Adjust has_range_p call.
+ (infer_range_manager::add_ranges): New.
+ (infer_range_manager::add_range): Take stmt rather than BB.
+ (infer_range_manager::add_nonzero): Adjust from BB to stmt.
+ * gimple-range-infer.h (class gimple_infer_range): Adjust methods.
+ (infer_range_oracle): New.
+ (class infer_range_manager): Inherit from infer_range_oracle.
+ Adjust methods.
+ * gimple-range-path.cc (path_range_query::range_defined_in_block): Use
+ oracle.
+ (path_range_query::adjust_for_non_null_uses): Likewise.
+ * gimple-range.cc (gimple_ranger::range_on_edge): Likewise
+ (gimple_ranger::register_transitive_inferred_ranges): Likewise.
+ * value-query.cc (default_infer_oracle): New.
+ (range_query::create_infer_oracle): New.
+ (range_query::destroy_infer_oracle): New.
+ (range_query::share_query): Copy infer pointer.
+ (range_query::range_query): Initialize infer pointer.
+ (range_query::~range_query): destroy infer object.
+ * value-query.h (range_query::infer_oracle): New.
+ (range_query::create_infer_oracle): New prototype.
+ (range_query::destroy_infer_oracle): New prototype.
+ (range_query::m_infer): New.
+
+2024-05-23 Andrew MacLeod <amacleod@redhat.com>
+
+ * gimple-range.cc (gimple_ranger::gimple_ranger): Share the
+ components from ranger_cache.
+ (gimple_ranger::~gimple_ranger): Don't clear pointer.
+ * value-query.cc (range_query::share_query): New.
+ (range_query::range_query): Clear shared component flag.
+ (range_query::~range_query): Don't free shared component copies.
+ * value-query.h (share_query): New prototype.
+ (m_shared_copy_p): New member.
+
+2024-05-23 Andrew MacLeod <amacleod@redhat.com>
+
+ * gimple-range-cache.cc (ranger_cache::dump_bb): Use m_relation.
+ (ranger_cache::fill_block_cache): Likewise
+ * gimple-range-fold.cc (fur_stmt::get_phi_operand): Use new names.
+ (fur_depend::register_relation): Likewise.
+ (fold_using_range::range_of_phi): Likewise.
+ * gimple-range-path.cc (path_range_query::path_range_query): Likewise.
+ (path_range_query::~path_range_query): Likewise.
+ (ath_range_query::compute_ranges): Likewise.
+ (jt_fur_source::register_relation): Likewise.
+ (jt_fur_source::query_relation): Likewise.
+ (path_range_query::maybe_register_phi_relation): Likewise.
+ * gimple-range-path.h (get_path_oracle): Likewise.
+ * gimple-range.cc (gimple_ranger::gimple_ranger): Likewise.
+ (gimple_ranger::~gimple_ranger): Likewise.
+ * value-query.cc (range_query::create_relation_oracle): Likewise.
+ (range_query::destroy_relation_oracle): Likewise.
+ (range_query::share_oracles): Likewise.
+ (range_query::range_query): Likewise.
+ * value-query.h (value_query::relation): Rename from oracle.
+ (m_relation): Rename from m_oracle.
+ * value-relation.cc (relation_oracle::query): Rename from
+ query_relation.
+ (equiv_oracle::query): Likewise.
+ (equiv_oracle::record): Rename from register_relation.
+ (relation_oracle::record): Likewise.
+ (dom_oracle::record): Likewise.
+ (dom_oracle::query): Rename from query_relation.
+ (path_oracle::record): Rename from register_relation.
+ (path_oracle::query): Rename from query_relation.
+ * value-relation.h (*::record): Rename from register_relation.
+ (*::query): Rename from query_relation.
+
+2024-05-23 Andrew MacLeod <amacleod@redhat.com>
+
+ * gimple-range-cache.cc (ranger_cache::dump_bb): Remove check for
+ NULL oracle pointer.
+ (ranger_cache::fill_block_cache): Likewise.
+ * gimple-range-fold.cc (fur_stmt::get_phi_operand): Likewise.
+ (fur_depend::fur_depend): Likewise.
+ (fur_depend::register_relation): Likewise, use qury_relation.
+ (fold_using_range::range_of_phi): Likewise.
+ (fold_using_range::relation_fold_and_or): Likewise.
+ * gimple-range-fold.h (fur_source::m_oracle): Delete. Oracle
+ can be accessed dirctly via m_query now.
+ * gimple-range-path.cc (path_range_query::path_range_query):
+ Adjust for oracle reference pointer.
+ (path_range_query::compute_ranges): Likewise.
+ (jt_fur_source::jt_fur_source): Adjust for no m_oracle member.
+ (jt_fur_source::register_relation): Do not check for NULL
+ pointer.
+ (jt_fur_source::query_relation): Likewise.
+ * gimple-range.cc (gimple_ranger::gimple_ranger): Adjust for
+ reference pointer.
+ * value-query.cc (default_relation_oracle): New.
+ (range_query::create_relation_oracle): Relocate from header.
+ Ensure not being added to global query.
+ (range_query::destroy_relation_oracle): Relocate from header.
+ (range_query::range_query): Initailize to default oracle.
+ (ange_query::~range_query): Call destroy_relation_oracle.
+ * value-query.h (class range_query): Adjust prototypes.
+ (range_query::create_relation_oracle): Move to source file.
+ (range_query::destroy_relation_oracle): Move to source file.
+ * value-relation.cc (relation_oracle::validate_relation): Delete.
+ (relation_oracle::register_stmt): Rename to register_relation.
+ (relation_oracle::register_edge): Likewise.
+ * value-relation.h (register_stmt): Rename to register_relation and
+ provide default function in base class.
+ (register_edge): Likewise.
+ (relation_oracle::validate_relation): Delete.
+ (relation_oracle::query_relation): Provide default in base class.
+ (relation_oracle::dump): Likewise.
+ (relation_oracle::equiv_set): Likewise.
+ (default_relation_oracle): New extenal reference.
+ (partial_equiv_set, add_partial_equiv): Move to protected.
+
+2024-05-23 Andrew MacLeod <amacleod@redhat.com>
+
+ * gimple-range-cache.cc (ranger_cache::ranger_cache): Call
+ create_relation_oracle.
+ (ranger_cache::~ranger_cache): Call destroy_relation_oracle.
+ * gimple-range-fold.cc (fur_stmt::get_phi_operand): Check for
+ relation oracle bnefore calling query_relation.
+ (fold_using_range::range_of_phi): Likewise.
+ * gimple-range-path.cc (path_range_query::~path_range_query): Set
+ relation oracle pointer to NULL when done.
+ * gimple-range.cc (gimple_ranger::~gimple_ranger): Likewise.
+ * value-query.cc (range_query::~range_query): Ensure any
+ relation oracle is destroyed.
+ (range_query::query_relation): relocate to relation_oracle object.
+ * value-query.h (class range_query): Adjust method proototypes.
+ (range_query::create_relation_oracle): New.
+ (range_query::destroy_relation_oracle): New.
+ * value-relation.cc (relation_oracle::query_relation): Relocate
+ from range query class.
+ * value-relation.h (Call relation_oracle): New prototypes.
+
+2024-05-23 Pan Li <pan2.li@intel.com>
+
+ * generic-match-head.cc (types_match): Add overloaded types_match
+ for 3 types.
+ * gimple-match-head.cc (types_match): Ditto.
+ * match.pd: Leverage overloaded types_match.
+
+2024-05-23 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/115197
+ * tree-loop-distribution.cc (copy_loop_before): Constant PHI
+ args remain the same.
+
+2024-05-23 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/115199
+ * tree-ssa-structalias.cc (process_constraint): Also
+ record &ANYTHING = X as *ANYTING = X in the end.
+
+2024-05-23 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/115138
+ * tree-ssa-alias.cc (ptrs_compare_unequal): Make sure
+ pt.vars_contains_nonlocal differs since we do not represent
+ FUNCTION_DECLs or LABEL_DECLs in vars explicitly.
+
+2024-05-23 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
+
+ PR target/109549
+ * config/s390/s390.cc (TARGET_NOCE_CONVERSION_PROFITABLE_P):
+ Define.
+ (s390_noce_conversion_profitable_p): Implement.
+
+2024-05-23 Aldy Hernandez <aldyh@redhat.com>
+
+ PR tree-optimization/115191
+ * tree-ssa-phiopt.cc (value_replacement): Use Value_Range instead
+ of int_range_max.
+
+2024-05-23 Andrew Pinski <quic_apinski@quicinc.com>
+ Joel Jones <quic_joeljone@quicinc.com>
+ Wei Zhao <quic_wezhao@quicinc.com>
+
+ * config/aarch64/aarch64-cores.def (oryon-1): New entry.
+ * config/aarch64/aarch64-tune.md: Regenerate.
+ * doc/invoke.texi (AArch64 Options): Document oryon-1.
+
2024-05-22 Pengxuan Zheng <quic_pzheng@quicinc.com>
PR target/102171
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index e67e257..660b1b6 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20240523
+20240524
diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog
index c2c28ff..d48a052 100644
--- a/gcc/c-family/ChangeLog
+++ b/gcc/c-family/ChangeLog
@@ -1,3 +1,11 @@
+2024-05-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * c-ada-spec.cc (check_type_name_conflict): Add guard.
+ (is_char_array): Simplify.
+ (dump_ada_array_type): Use strip_array_types.
+ (dump_ada_node) <POINTER_TYPE>: Deal with anonymous array types.
+ (dump_nested_type): Use strip_array_types.
+
2024-05-17 Eric Botcazou <ebotcazou@adacore.com>
* c-ada-spec.cc (bitfield_used): Move around.
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 622caa4..991a4ce 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,20 @@
+2024-05-24 Nathaniel Shead <nathanieloshead@gmail.com>
+
+ PR c++/114947
+ * cp-tree.h (set_defining_module_for_partial_spec): Declare.
+ * module.cc (trees_in::decl_value): Track partial specs coming
+ from partitions.
+ (set_defining_module): Don't track partial specialisations here
+ anymore.
+ (set_defining_module_for_partial_spec): New function.
+ * pt.cc (process_partial_specialization): Call it.
+
+2024-05-23 Jason Merrill <jason@redhat.com>
+
+ PR c++/115187
+ * init.cc (build_delete): Use get_target_expr instead of save_expr.
+ * tree.cc (stabilize_expr): Update comment.
+
2024-05-22 Patrick Palka <ppalka@redhat.com>
PR c++/115159
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 89ccca2..5b7d78d 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,16 @@
+2024-05-23 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/103312
+ * dependency.cc (gfc_dep_compare_expr): Handle component call
+ expressions. Return -2 as default and return 0 if compared with
+ a function expression that is from an interface body and has
+ the same name.
+ * expr.cc (gfc_reduce_init_expr): If the expression is a comp
+ call do not attempt to reduce, defer to resolution and return
+ false.
+ * trans-types.cc (gfc_get_dtype_rank_type,
+ gfc_get_nodesc_array_type): Fix whitespace.
+
2024-05-20 Mikael Morin <mikael@gcc.gnu.org>
PR fortran/99798
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 25adc85..9368719 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,64 @@
+2024-05-24 Nathaniel Shead <nathanieloshead@gmail.com>
+
+ PR c++/114947
+ * g++.dg/modules/partial-4_a.C: New test.
+ * g++.dg/modules/partial-4_b.C: New test.
+
+2024-05-23 Jason Merrill <jason@redhat.com>
+
+ PR c++/115187
+ * g++.dg/cpp1z/array-prvalue3.C: New test.
+
+2024-05-23 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/115197
+ * gcc.dg/pr115197.c: New testcase.
+
+2024-05-23 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/115199
+ * gcc.dg/torture/pr115199.c: New testcase.
+
+2024-05-23 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/115138
+ * gcc.dg/torture/pr115138.c: New testcase.
+
+2024-05-23 Jiufu Guo <guojiufu@linux.ibm.com>
+
+ * gcc.target/powerpc/pr106550.c: Adjust by requiring has_arch_ppc64
+ effective target. And remove power10_ok.
+
+2024-05-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR tree-optimization/114072
+ * gcc.dg/vect/vect-pr111779.c (scan-tree-dump): Require
+ vect_shift_char on big-endian targets.
+
+2024-05-23 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/103312
+ * gfortran.dg/pr103312.f90: New test.
+
+2024-05-23 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
+
+ * gcc.target/s390/ccor.c: Order of loads are reversed, now, as a
+ consequence the condition has to be reversed.
+
+2024-05-23 Alexandre Oliva <oliva@adacore.com>
+
+ PR target/105359
+ * gcc.target/powerpc/pr79004.c: Xfail opcodes not available on
+ longdouble64.
+ * lib/target-supports.exp
+ (check_effective_target_long_double_64bit): Drop.
+ (add_options_for_long_double_64bit): Likewise.
+
+2024-05-23 Aldy Hernandez <aldyh@redhat.com>
+
+ PR tree-optimization/115191
+ * gcc.dg/tree-ssa/pr115191.c: New test.
+
2024-05-22 Patrick Palka <ppalka@redhat.com>
PR c++/115159
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 8288bd5..7b6941f 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,25 @@
+2024-05-23 Patrick Palka <ppalka@redhat.com>
+
+ * include/bits/version.def (ranges_concat): Define.
+ * include/bits/version.h: Regenerate.
+ * include/std/ranges (__detail::__concat_reference_t): Define
+ for C++26.
+ (__detail::__concat_value_t): Likewise.
+ (__detail::__concat_rvalue_reference_t): Likewise.
+ (__detail::__concat_indirectly_readable_impl): Likewise.
+ (__detail::__concat_indirectly_readable): Likewise.
+ (__detail::__concatable): Likewise.
+ (__detail::__all_but_last_common): Likewise.
+ (__detail::__concat_is_random_access): Likewise.
+ (__detail::__concat_is_bidirectional): Likewise.
+ (__detail::__last_is_common): Likewise.
+ (concat_view): Likewise.
+ (__detail::__concat_view_iter_cat): Likewise.
+ (concat_view::iterator): Likewise.
+ (views::__detail::__can_concat_view): Likewise.
+ (views::_Concat, views::concat): Likewise.
+ * testsuite/std/ranges/concat/1.cc: New test.
+
2024-05-22 Jonathan Wakely <jwakely@redhat.com>
* include/bits/locale_classes.h (locale::combine)