+2024-12-19 Patrick Palka <ppalka@redhat.com>
+
+ PR c++/118069
+ * hwint.h (add_sat_hwi): New function.
+ (mul_sat_hwi): Likewise.
+
+2024-12-19 Tobias Burnus <tburnus@baylibre.com>
+
+ * omp-general.cc (vendor_properties): Add "nec".
+
+2024-12-19 Andrew Carlotti <andrew.carlotti@arm.com>
+
+ * tree-assume.cc: Fix comment typos.
+
+2024-12-19 Pan Li <pan2.li@intel.com>
+
+ PR target/118075
+ * config/riscv/vector.md: Add the (mem:BLK (scratch)) as the
+ lhs of strided store define insn.
+
+2024-12-19 Alexandre Oliva <oliva@adacore.com>
+
+ * gimple-fold.cc (decode_field_reference): Add psignbit
+ parameter. Set it if the mask references sign-extending
+ bits.
+ (fold_truth_andor_for_ifcombine): Adjust calls with new
+ variables. Swap them along with other r?_* variables. Handle
+ extended sign bit compares with zero.
+ * tree-ssa-ifcombine.cc (ifcombine_ifandif): If bits_test
+ fails in a way that doesn't prevent other ifcombine strategies
+ from passing, give them a try.
+
+2024-12-19 Alexandre Oliva <oliva@adacore.com>
+
+ * gimple-fold.cc (decode_field_reference): Accept incoming
+ mask.
+ (fold_truth_andor_for_ifcombine): Handle some compares with
+ powers of two, minus 1 or 0, like masked compares with zero.
+
+2024-12-19 Alexandre Oliva <oliva@adacore.com>
+
+ PR tree-optimization/117915
+ * tree-ssa-ifcombine.cc (ifcombine_mark_ssa_name): Move
+ preconditions from...
+ (ifcombine_mark_ssa_name_walk): ... here.
+
+2024-12-19 Alexandre Oliva <oliva@adacore.com>
+
+ PR tree-optimization/118046
+ * gimple-fold.cc (decode_field_reference): Don't follow more
+ than one conversion.
+
+2024-12-19 Alexandre Oliva <oliva@adacore.com>
+
+ * gimple-fold.cc (gimple_convert_def_p): Reject load stmts
+ unless requested.
+ (decode_field_reference): Accept a converting load at the last
+ conversion matcher, subsuming the load identification.
+ (fold_truth_andor_for_ifcombine): Refuse to merge operands
+ when only one of them has an associated load stmt. Swap
+ operands of one of the compares if that helps them match.
+
2024-12-18 Eric Botcazou <ebotcazou@adacore.com>
PR target/118096
+2024-12-19 Patrick Palka <ppalka@redhat.com>
+
+ PR c++/118069
+ * constraint.cc (atom_hasher): Define here, instead of ...
+ * cp-tree.h (atom_hasher): ... here.
+ * logic.cc (clause::m_set): Use pointer instead of structural
+ hashing.
+
+2024-12-19 Patrick Palka <ppalka@redhat.com>
+
+ PR c++/118069
+ * logic.cc (dnf_size_r): Use HOST_WIDE_INT instead of int, and
+ handle overflow gracefully via add_sat_hwi and mul_sat_hwi.
+ (cnf_size_r): Likewise.
+ (dnf_size): Use HOST_WIDE_INT instead of int.
+ (cnf_size): Likewise.
+
+2024-12-19 Marek Polacek <polacek@redhat.com>
+ Jason Merrill <jason@redhat.com>
+
+ PR c++/117980
+ * constexpr.cc (cxx_eval_outermost_constant_expr): If there's
+ an object to initialize, take its type. Don't set the type
+ in the constexpr dtor case.
+
2024-12-18 Jakub Jelinek <jakub@redhat.com>
* parser.cc (cp_lexer_new_main): Attempt to optimize large sequences
+2024-12-19 Marek Polacek <polacek@redhat.com>
+ Jason Merrill <jason@redhat.com>
+
+ PR c++/117980
+ * g++.dg/cpp0x/constexpr-prvalue2.C: New test.
+ * g++.dg/cpp0x/constexpr-prvalue3.C: New test.
+
+2024-12-19 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
+
+ * gcc.target/arm/memset-inline-4.c: Only check assembler output.
+ * gcc.target/arm/memset-inline-5.c: Likewise.
+ * gcc.target/arm/memset-inline-6.c: Likewise.
+ * gcc.target/arm/memset-inline-8.c: Likewise.
+ * gcc.target/arm/memset-inline-9.c: Likewise.
+ * gcc.target/arm/memset-inline-4-exe.c: New test.
+ * gcc.target/arm/memset-inline-5-exe.c: Likewise.
+ * gcc.target/arm/memset-inline-6-exe.c: Likewise.
+ * gcc.target/arm/memset-inline-8-exe.c: Likewise.
+ * gcc.target/arm/memset-inline-9-exe.c: Likewise.
+
+2024-12-19 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
+
+ * g++.dg/abi/arm_rtti1.C: Check for expected symbol in C++26.
+
+2024-12-19 Jakub Jelinek <jakub@redhat.com>
+
+ * c-c++-common/toplevel-asm-1.c: Use %cc3 %cc4 instead of %c3 %c4
+ on riscv.
+
+2024-12-19 Pan Li <pan2.li@intel.com>
+
+ * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-f64.c: Adjust
+ the vsse check times based on optimization option.
+ * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-i64.c: Ditto.
+ * gcc.target/riscv/rvv/autovec/strided/strided_ld_st-1-u64.c: Ditto.
+
+2024-12-19 Pan Li <pan2.li@intel.com>
+
+ PR target/118075
+ * gcc.target/riscv/rvv/base/pr118075-run-1.c: New test.
+
+2024-12-19 Alexandre Oliva <oliva@adacore.com>
+
+ * gcc.dg/field-merge-16.c: New.
+
+2024-12-19 Alexandre Oliva <oliva@adacore.com>
+
+ * gcc.dg/field-merge-15.c: New.
+
+2024-12-19 Alexandre Oliva <oliva@adacore.com>
+
+ PR tree-optimization/117915
+ * gcc.dg/pr117915.c: New.
+
+2024-12-19 Alexandre Oliva <oliva@adacore.com>
+
+ PR testsuite/118025
+ * gcc.dg/field-merge-9.c (q): Drop overcorrection for
+ big-endian.
+ * gcc.dg/field-merge-12.c: Include stdbool.h.
+
+2024-12-19 Alexandre Oliva <oliva@adacore.com>
+
+ PR tree-optimization/118046
+ * gcc.dg/field-merge-14.c: New.
+
+2024-12-19 Alexandre Oliva <oliva@adacore.com>
+
+ * gcc.dg/field-merge-13.c: New.
+
2024-12-18 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/118081
+2024-12-19 Tobias Burnus <tburnus@baylibre.com>
+
+ * libgomp.texi (OpenMP Context Selectors): Document that 'kind' also
+ accepts 'cpu'/'any' on host and 'any'/'nohost' on 'nohost' devices.
+
2024-12-10 Tobias Burnus <tburnus@baylibre.com>
* plugin/plugin-gcn.c (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_async_run):
+2024-12-19 François Dumont <frs.dumont@gmail.com>
+
+ PR libstdc++/57272
+ * include/bits/stl_tree.h
+ [_GLIBCXX_USE_ALLOC_PTR_FOR_RB_TREE]: New macro to control usage of the
+ code required to support fancy allocator pointer type.
+ (_Rb_tree_node_base::_Const_Base_ptr): Remove.
+ (_Rb_tree_node_base::_S_minimum, _Rb_tree_node_base::_S_maximum): Remove
+ overloads for _Const_Base_ptr.
+ (_Rb_tree_node_base::_M_base_ptr()): New.
+ (_Rb_tree_node::_Link_type): Remove.
+ (_Rb_tree_node::_M_node_ptr()): New.
+ (__rb_tree::_Node_base<>): New.
+ (__rb_tree::_Header<>): New.
+ (__rb_tree::_Node<>): New.
+ (_Rb_tree_increment(const _Rb_tree_node_base*)): Remove declaration.
+ (_Rb_tree_decrement(const _Rb_tree_node_base*)): Remove declaration.
+ (_Rb_tree_iterator<>::_Self): Remove.
+ (_Rb_tree_iterator<>::_Link_type): Rename into...
+ (_Rb_tree_iterator<>::_Node_ptr): ...this.
+ (_Rb_tree_const_iterator<>::_Link_type): Rename into...
+ (_Rb_tree_const_iterator<>::_Node_ptr): ...this.
+ (_Rb_tree_const_iterator<>::_M_const_cast): Remove.
+ (_Rb_tree_const_iterator<>::_M_node): Change type into _Base_ptr.
+ (__rb_tree::_Iterator<>): New.
+ (__rb_tree::_Node_traits<>): New.
+ (_Rb_tree<>::_Node_base, _Rb_tree::_Node): New.
+ (_Rb_tree<>::_Link_type): Rename into...
+ (_Rb_tree<>::_Node_ptr): ...this.
+ (_Rb_tree<>::_Const_Base_ptr, _Rb_tree<>::_Const_Node_ptr): Remove.
+ (_Rb_tree<>::_M_mbegin): Remove.
+ (_Rb_tree<>::_M_begin_node()): New.
+ (_S_key(const _Node&)): New.
+ (_S_key(_Base_ptr)): New, call latter.
+ (_S_key(_Node_ptr)): Likewise.
+ (_Rb_tree<>::_S_left(_Const_Base_ptr)): Remove.
+ (_Rb_tree<>::_S_right(_Const_Base_ptr)): Remove.
+ (_Rb_tree<>::_S_maximum(_Const_Base_ptr)): Remove.
+ (_Rb_tree<>::_S_minimum(_Const_Base_ptr)): Remove.
+ * testsuite/23_containers/map/allocator/ext_ptr.cc: New test case.
+ * testsuite/23_containers/multimap/allocator/ext_ptr.cc: New test case.
+ * testsuite/23_containers/multiset/allocator/ext_ptr.cc: New test case.
+ * testsuite/23_containers/set/allocator/ext_ptr.cc: New test case.
+ * testsuite/23_containers/set/requirements/explicit_instantiation/alloc_ptr.cc:
+ New test case.
+ * testsuite/23_containers/set/requirements/explicit_instantiation/alloc_ptr_ignored.cc:
+ New test case.
+
+2024-12-19 Patrick Palka <ppalka@redhat.com>
+ Jonathan Wakely <jwakely@redhat.com>
+
+ * include/Makefile.am: Add new header <flat_set>.
+ * include/Makefile.in: Regenerate.
+ * include/bits/version.def (__cpp_flat_set): Define.
+ * include/bits/version.h: Regenerate
+ * include/precompiled/stdc++.h: Include <flat_set>.
+ * include/std/flat_set: New file.
+ * src/c++23/std.cc.in: Export <flat_set>.
+ * testsuite/23_containers/flat_multiset/1.cc: New test.
+ * testsuite/23_containers/flat_set/1.cc: New test.
+
+2024-12-19 Patrick Palka <ppalka@redhat.com>
+ Jonathan Wakely <jwakely@redhat.com>
+
+ * include/Makefile.am: Add new header <flat_map>.
+ * include/Makefile.in: Regenerate.
+ * include/bits/alloc_traits.h (__not_allocator_like): New concept.
+ * include/bits/stl_function.h (__transparent_comparator): Likewise.
+ * include/bits/stl_iterator_base_types.h (__has_input_iter_cat):
+ Likewise.
+ * include/bits/uses_allocator.h (__allocator_for): Likewise.
+ * include/bits/utility.h (sorted_unique_t): Define for C++23.
+ (sorted_unique): Likewise.
+ (sorted_equivalent_t): Likewise.
+ (sorted_equivalent): Likewise.
+ * include/bits/version.def (flat_map): Define.
+ * include/bits/version.h: Regenerate.
+ * include/precompiled/stdc++.h: Include <flat_map>.
+ * include/std/flat_map: New file.
+ * src/c++23/std.cc.in: Export <flat_map>.
+ * testsuite/23_containers/flat_map/1.cc: New test.
+ * testsuite/23_containers/flat_multimap/1.cc: New test.
+
+2024-12-19 Patrick Palka <ppalka@redhat.com>
+
+ * include/bits/ranges_base.h (__detail::__range_key_type):
+ Define as per P1206R7.
+ (__detail::__range_mapped_type): Likewise.
+
2024-12-18 François Dumont <frs.dumont@gmail.com>
* include/bits/move.h (std::addressof): Call __builtin_addressof.