+2025-07-08 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * prepare-commit-msg: Force default git prefixes.
+
2025-07-07 Martin Jambor <mjambor@suse.cz>
* filter-clang-warnings.py (skip_warning): Also ignore
+2025-07-08 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
+
+ * config/xtensa/xtensa.cc (xtensa_b4const_or_zero):
+ Remove.
+ (xtensa_b4const): Add a case where the value is 0, and rename
+ to xtensa_b4const_or_zero.
+ (xtensa_rtx_costs): Fix to also consider the result of
+ xtensa_b4constu().
+
+2025-07-08 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org>
+
+ * config/s390/s390.md (stack_protect_get_tpsi): New insn.
+ (stack_protect_get_tpdi): New insn.
+ (stack_protect_set): Use new insn.
+ (stack_protect_test): Use new insn.
+
+2025-07-08 Robin Dapp <rdapp@ventanamicro.com>
+
+ PR target/120461
+ * config/riscv/riscv-v.cc (emit_vlmax_insn_lra): Do not emit
+ vsetivli for XTHeadVector.
+
+2025-07-08 Robin Dapp <rdapp@ventanamicro.com>
+
+ PR target/113829
+ * config/riscv/riscv-vector-builtins.cc (registered_function::overloaded_hash):
+ Skip non-type arguments.
+
+2025-07-08 Andreas Schwab <schwab@suse.de>
+
+ PR target/120995
+ * config/riscv/sync.md (zacas_atomic_cas_value_strong<mode>):
+ Allow op3 to be zero.
+
+2025-07-08 Richard Biener <rguenther@suse.de>
+
+ * config/i386/x86-tune.def (X86_TUNE_AVX512_MASKED_EPILOGUES):
+ New tunable, default on for m_ZNVER4 and m_ZNVER5.
+ * config/i386/i386.cc (ix86_vector_costs::finish_cost): With
+ X86_TUNE_AVX512_MASKED_EPILOGUES and when the main loop
+ had a vectorization factor > 2 use a masked epilogue when
+ possible and when not obviously problematic.
+
+2025-07-08 Richard Biener <rguenther@suse.de>
+
+ * tree-vectorizer.h (vector_costs::suggested_epilogue_mode):
+ Add masked output parameter and return m_masked_epilogue.
+ (vector_costs::m_masked_epilogue): New tristate flag.
+ (vector_costs::vector_costs): Initialize m_masked_epilogue.
+ * tree-vect-loop.cc (vect_analyze_loop_1): Pass in masked
+ flag to optionally initialize can_use_partial_vectors_p.
+ (vect_analyze_loop): For epilogues also get whether to use
+ a masked epilogue for this loop from the target and use
+ that for the first epilogue mode we try.
+
+2025-07-08 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/120358
+ * tree-ssa-structalias.cc (get_constraint_for_1): Adjust
+ pruning of sub-variables according to the imprecise
+ known start offset.
+
+2025-07-08 Alexandre Oliva <oliva@adacore.com>
+
+ * config/vxworks-dummy.h (TARGET_VXWORKS_VAROFF): New.
+ (TARGET_VXWORKS_GOTTPIC): New.
+ * config/vxworks.h (TARGET_VXWORKS_VAROFF): Override.
+ (TARGET_VXWORKS_GOTTPIC): Likewise.
+ * config/i386/i386.cc (output_set_got): Disable VxWorks6 GOT
+ sequence on VxWorks7.
+ (legitimize_pic_address): Accept relative addressing of
+ labels on VxWorks7.
+ (ix86_delegitimize_address_1): Likewise.
+ (ix86_output_addr_diff_elt): Likewise.
+ * config/i386/i386.md (tablejump): Likewise.
+ (set_got, set_got_labelled): Set no-red-zone flag on VxWorks7.
+ * config/i386/predicates.md (gotoff_operand): Test
+ TARGET_VXWORKS_VAROFF.
+
+2025-07-08 Alexandre Oliva <oliva@adacore.com>
+
+ * config.gcc (vxworks-dummy.h): Add to aarch64-*-* as well.
+
2025-07-07 Qing Zhao <qing.zhao@oracle.com>
Revert:
+2025-07-08 Marek Polacek <polacek@redhat.com>
+ Andrew Pinski <quic_apinski@quicinc.com>
+
+ PR c++/83469
+ PR c++/93809
+ * cp-tree.h (UNION_TYPE_P): Define.
+ (TYPENAME_IS_UNION_P): Define.
+ * decl.cc (struct typename_info): Add union_p field.
+ (struct typename_hasher::equal): Compare union_p field.
+ (build_typename_type): Use ti.union_p for union_type. Set
+ TYPENAME_IS_UNION_P.
+ * error.cc (dump_type) <case TYPENAME_TYPE>: Handle
+ TYPENAME_IS_UNION_P.
+ * module.cc (trees_out::type_node): Likewise.
+ * parser.cc (cp_parser_check_class_key): Allow typename key for union
+ types and allow union keyword for typename types.
+ * pt.cc (tsubst) <case TYPENAME_TYPE>: Don't conflate unions with
+ class_type. For TYPENAME_IS_CLASS_P, check NON_UNION_CLASS_TYPE_P
+ rather than CLASS_TYPE_P. Add TYPENAME_IS_UNION_P handling.
+
+2025-07-08 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/117784
+ * decl.cc: Implement part of C++26 P2686R4 - constexpr structured
+ bindings.
+ (cp_finish_decl): Pedwarn for C++23 and older on constinit on
+ structured bindings except for static/thread_local where it uses
+ earlier error.
+ (grokdeclarator): Pedwarn on constexpr structured bindings for
+ C++23 and older instead of emitting error always, don't clear
+ constexpr_p in that case.
+ * parser.cc (cp_parser_decomposition_declaration): Copy over
+ DECL_DECLARED_CONSTEXPR_P and DECL_DECLARED_CONSTINIT_P flags.
+
2025-07-07 Alfie Richards <alfie.richards@arm.com>
PR c++/119498
+2025-07-08 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ PR fortran/120637
+ * class.cc (finalize_component): Return true, when a finalizable
+ component was detect and do not free it.
+
2025-07-07 Mikael Morin <mikael@gcc.gnu.org>
* trans-intrinsic.cc (conv_intrinsic_move_alloc): Add pre and
+2025-07-08 Marek Polacek <polacek@redhat.com>
+ Andrew Pinski <quic_apinski@quicinc.com>
+
+ PR c++/83469
+ PR c++/93809
+ * g++.dg/template/error45.C: Adjust dg-error.
+ * g++.dg/warn/Wredundant-tags-3.C: Remove xfail.
+ * g++.dg/parse/union1.C: New test.
+ * g++.dg/parse/union2.C: New test.
+ * g++.dg/parse/union3.C: New test.
+ * g++.dg/parse/union4.C: New test.
+ * g++.dg/parse/union5.C: New test.
+ * g++.dg/parse/union6.C: New test.
+
+2025-07-08 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
+
+ * gcc.target/xtensa/BGEUI-BLTUI-32k-64k.c: New.
+
+2025-07-08 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/117784
+ * g++.dg/cpp1z/decomp3.C (test): For constexpr structured binding
+ initialize from constexpr var instead of non-constexpr and expect
+ just a pedwarn for C++23 and older instead of error always.
+ * g++.dg/cpp26/decomp9.C (foo): Likewise.
+ * g++.dg/cpp26/decomp22.C: New test.
+ * g++.dg/cpp26/decomp23.C: New test.
+ * g++.dg/cpp26/decomp24.C: New test.
+ * g++.dg/cpp26/decomp25.C: New test.
+
+2025-07-08 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org>
+
+ * gcc.target/s390/stack-protector-guard-tls-1.c: New test.
+
+2025-07-08 Richard Biener <rguenther@suse.de>
+
+ * gcc.dg/guality/guality.h (guality_main): Declare noipa.
+ (guality_check): Likewise.
+
+2025-07-08 Robin Dapp <rdapp@ventanamicro.com>
+
+ PR target/120461
+ * gcc.target/riscv/rvv/xtheadvector/pr120461.c: New test.
+
+2025-07-08 Robin Dapp <rdapp@ventanamicro.com>
+
+ PR target/113829
+ * gcc.target/riscv/rvv/base/pr113829.c: New test.
+
+2025-07-08 Andreas Schwab <schwab@suse.de>
+
+ PR target/120995
+ * gcc.target/riscv/amo/zabha-zacas-atomic-cas.c: New test.
+
+2025-07-08 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp1y/lambda-generic-variadic.C: Change to 'compile'.
+
+2025-07-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gcc.target/i386/memcpy-pr120683-1.c (dg-options): Add
+ -fasynchronous-unwind-tables -fdwarf2-cfi-asm.
+ * gcc.target/i386/memcpy-pr120683-2.c: Likewise.
+ * gcc.target/i386/memcpy-pr120683-3.c: Likewise.
+ * gcc.target/i386/memcpy-pr120683-4.c: Likewise.
+ * gcc.target/i386/memcpy-pr120683-5.c: Likewise.
+ * gcc.target/i386/memcpy-pr120683-6.c: Likewise.
+ * gcc.target/i386/memcpy-pr120683-7.c: Likewise.
+ * gcc.target/i386/memcpy-strategy-12.c: Likewise.
+ * gcc.target/i386/memset-pr120683-1.c: Likewise.
+ * gcc.target/i386/memset-pr120683-10.c: Likewise.
+ * gcc.target/i386/memset-pr120683-11.c: Likewise.
+ * gcc.target/i386/memset-pr120683-12.c: Likewise.
+ * gcc.target/i386/memset-pr120683-13.c: Likewise.
+ * gcc.target/i386/memset-pr120683-14.c: Likewise.
+ * gcc.target/i386/memset-pr120683-15.c: Likewise.
+ * gcc.target/i386/memset-pr120683-16.c: Likewise.
+ * gcc.target/i386/memset-pr120683-17.c: Likewise.
+ * gcc.target/i386/memset-pr120683-18.c: Likewise.
+ * gcc.target/i386/memset-pr120683-19.c: Likewise.
+ * gcc.target/i386/memset-pr120683-2.c: Likewise.
+ * gcc.target/i386/memset-pr120683-20.c: Likewise.
+ * gcc.target/i386/memset-pr120683-21.c: Likewise.
+ * gcc.target/i386/memset-pr120683-22.c: Likewise.
+ * gcc.target/i386/memset-pr120683-23.c: Likewise.
+ * gcc.target/i386/memset-pr120683-3.c: Likewise.
+ * gcc.target/i386/memset-pr120683-4.c: Likewise.
+ * gcc.target/i386/memset-pr120683-5.c: Likewise.
+ * gcc.target/i386/memset-pr120683-6.c: Likewise.
+ * gcc.target/i386/memset-pr120683-7.c: Likewise.
+ * gcc.target/i386/memset-pr120683-8.c: Likewise.
+ * gcc.target/i386/memset-pr120683-9.c: Likewise.
+
+2025-07-08 Juergen Christ <jchrist@linux.ibm.com>
+
+ * gcc.target/s390/vector/pattern-avg-1.c: Split test.
+ * gcc.target/s390/vector/pattern-mulh-1.c: Split test.
+ * gcc.target/s390/vector/pattern-avg-2.c: New test.
+ * gcc.target/s390/vector/pattern-mulh-2.c: New test.
+
+2025-07-08 Richard Biener <rguenther@suse.de>
+
+ * gcc.target/i386/vect-mask-epilogue-1.c: New testcase.
+ * gcc.target/i386/vect-mask-epilogue-2.c: Likewise.
+ * gcc.target/i386/vect-epilogues-3.c: Adjust.
+
+2025-07-08 Andre Vehreschild <vehre@gcc.gnu.org>
+
+ PR fortran/120637
+ * gfortran.dg/asan/finalize_1.f90: New test.
+
+2025-07-08 Jeff Law <jlaw@ventanamicro.com>
+
+ * gcc.dg/torture/pr120654.c: Use __builtin variants of malloc and free.
+
+2025-07-08 Jeff Law <jlaw@ventanamicro.com>
+
+ * gcc.target/riscv/amo/zalrsc-rvwmo-amo-add-int.c: Adjust expected
+ output.
+ * gcc.target/riscv/amo/zalrsc-ztso-amo-add-int.c: Likewise.
+
2025-07-07 Qing Zhao <qing.zhao@oracle.com>
Revert:
+2025-07-08 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/118681
+ * testsuite/20_util/unsynchronized_pool_resource/118681.cc: Fix
+ deallocate argument.
+
+2025-07-08 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/118681
+ * src/c++17/memory_resource.cc (choose_block_size): New
+ function.
+ (synchronized_pool_resource::do_allocate): Use choose_block_size
+ to determine appropriate block size.
+ (synchronized_pool_resource::do_deallocate): Likewise
+ (unsynchronized_pool_resource::do_allocate): Likewise.
+ (unsynchronized_pool_resource::do_deallocate): Likewise
+ * testsuite/20_util/synchronized_pool_resource/118681.cc: New
+ test.
+ * testsuite/20_util/unsynchronized_pool_resource/118681.cc: New
+ test.
+
+2025-07-08 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/debug/forward_list (_Safe_forward_list<>::_M_swap):
+ Adapt to _M_this() signature change.
+
+2025-07-08 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ PR libstdc++/119861
+ * include/std/format (formatter<_Rg, _CharT>::set_separator)
+ (formatter<_Rg, _CharT>::set_brackets): Constrain with
+ (format_kind<_Rg> == range_format::sequence).
+ * testsuite/std/format/ranges/pr119861_neg.cc: New test.
+
+2025-07-08 Luc Grosheintz <luc.grosheintz@gmail.com>
+
+ PR libstdc++/120914
+ * include/std/span (span): Update CTAD to enable
+ integral constants [P3029R1].
+ * include/std/mdspan (extents): ditto.
+ (mdspan): ditto.
+ * testsuite/23_containers/span/deduction.cc: Test deduction
+ guide.
+ * testsuite/23_containers/mdspan/extents/misc.cc: ditto.
+ * testsuite/23_containers/mdspan/mdspan.cc: ditto.
+
+2025-07-08 Luc Grosheintz <luc.grosheintz@gmail.com>
+
+ * testsuite/23_containers/span/contiguous_range_neg.cc: Silence
+ warning about unused variable myspan.
+
+2025-07-08 Luc Grosheintz <luc.grosheintz@gmail.com>
+
+ PR libstdc++/107761
+ * include/bits/version.def (mdspan): Set to 202207 and remove
+ no_stdname.
+ * include/bits/version.h: Regenerate.
+ * testsuite/23_containers/mdspan/version.cc: Test presence
+ of feature test macro.
+
+2025-07-08 Luc Grosheintz <luc.grosheintz@gmail.com>
+
+ PR libstdc++/107761
+ * include/std/mdspan (mdspan): New class.
+ * src/c++23/std.cc.in (mdspan): Add.
+ * testsuite/23_containers/mdspan/class_mandate_neg.cc: New test.
+ * testsuite/23_containers/mdspan/mdspan.cc: New test.
+ * testsuite/23_containers/mdspan/layout_like.h: Add class
+ LayoutLike which models a user-defined layout.
+ * testsuite/23_containers/mdspan/out_of_bounds_neg.cc: New file.
+
+2025-07-08 Luc Grosheintz <luc.grosheintz@gmail.com>
+
+ * include/std/mdspan (__mdspan::__size): New function.
+
+2025-07-08 Luc Grosheintz <luc.grosheintz@gmail.com>
+
+ * testsuite/23_containers/mdspan/extents/custom_integer.cc:
+ Delete IntLike and include "int_like.h".
+ * testsuite/23_containers/mdspan/extents/int_like.h: Add
+ IntLike.
+
+2025-07-08 Luc Grosheintz <luc.grosheintz@gmail.com>
+
+ * include/std/mdspan (extents): Check prerequisite of the ctor that
+ static_extent(i) == dynamic_extent || extent(i) == other.extent(i).
+ * testsuite/23_containers/mdspan/extents/class_mandates_neg.cc:
+ Test the implemented prerequisite.
+ * testsuite/23_containers/mdspan/extents/extents_mismatch_neg.cc: New file.
+
+2025-07-08 Luc Grosheintz <luc.grosheintz@gmail.com>
+
+ * include/std/mdspan: Check prerequisites of
+ layout_*::operator() with _GLIBCXX_DEBUG_ASSERTs.
+ * testsuite/23_containers/mdspan/layouts/debug/out_of_bounds_neg.cc:
+ Add tests for prerequisites.
+
+2025-07-08 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ * include/std/queue (formatter<queue<_Tp, _Container>, _CharT>)
+ (formatter<priority_queue<_Tp, _Container, _Compare>, _CharT>):
+ Add _GLIBCXX_RESOLVE_LIB_DEFECTS comments.
+
+2025-07-08 François Dumont <frs.dumont@gmail.com>
+
+ PR c++/116369
+ * config/abi/pre/gnu-versioned-namespace.ver: Use new const qualified symbols.
+ * config/abi/pre/gnu.ver: Add new const qualified symbols.
+ * include/debug/safe_base.h
+ (_Safe_iterator_base::_M_sequence): Declare as pointer-to-const.
+ (_Safe_iterator_base::_M_attach, _M_attach_single): New, take pointer-to-const
+ _Safe_sequence_base.
+ (_Safe_sequence_base::_M_detach_all, _M_detach_singular, _M_revalidate_singular)
+ (_M_swap, _M_get_mutex): New, const qualified.
+ (_Safe_sequence_base::_M_attach, _M_attach_single, _M_detach, _M_detach_single):
+ const qualify.
+ * include/debug/safe_container.h (_Safe_container<>::_M_cont): Add const qualifier.
+ (_Safe_container<>::_M_swap_base): New.
+ (_Safe_container(_Safe_container&&, const _Alloc&, std::false_type)):
+ Adapt to use latter.
+ (_Safe_container<>::operator=(_Safe_container&&)): Likewise.
+ (_Safe_container<>::_M_swap): Likewise and take parameter as const reference.
+ * include/debug/safe_unordered_base.h
+ (_Safe_local_iterator_base::_M_safe_container): New.
+ (_Safe_local_iterator_base::_Safe_local_iterator_base): Take
+ _Safe_unordered_container_base as pointer-to-const.
+ (_Safe_unordered_container_base::_M_attach, _M_attach_single): New, take
+ container as _Safe_unordered_container_base pointer-to-const.
+ (_Safe_unordered_container_base::_M_local_iterators, _M_const_local_iterators):
+ Add mutable.
+ (_Safe_unordered_container_base::_M_detach_all, _M_swap): New, const qualify.
+ (_Safe_unordered_container_base::_M_attach_local, _M_attach_local_single)
+ (_M_detach_local, _M_detach_local_single): Add const qualifier.
+ * include/debug/safe_unordered_container.h (_Safe_unordered_container::_M_self()): New.
+ * include/debug/safe_unordered_container.tcc
+ (_Safe_unordered_container::_M_invalidate_if, _M_invalidated_local_if): Use latter.
+ * include/debug/safe_iterator.h (_Safe_iterator<>::_M_attach, _M_attach_single):
+ Take _Safe_sequence_base as pointer-to-const.
+ (_Safe_iterator<>::_M_get_sequence): Add const_cast and comment about it.
+ * include/debug/safe_local_iterator.h (_Safe_local_iterator<>): Replace usages
+ of _M_sequence member by _M_safe_container().
+ (_Safe_local_iterator<>::_M_attach, _M_attach_single): Take
+ _Safe_unordered_container_base as pointer-to-const.
+ (_Safe_local_iterator<>::_M_get_sequence): Rename into...
+ (_Safe_local_iterator<>::_M_get_ucontainer): ...this. Add necessary const_cast and
+ comment to explain it.
+ (_Safe_local_iterator<>::_M_is_begin, _M_is_end): Adapt.
+ * include/debug/safe_local_iterator.tcc: Adapt.
+ * include/debug/safe_sequence.h
+ (_Safe_sequence<>::_M_invalidate_if, _M_transfer_from_if): Add const qualifier.
+ * include/debug/safe_sequence.tcc: Adapt.
+ * include/debug/deque (std::__debug::deque::erase): Adapt to use new const
+ qualified methods.
+ * include/debug/formatter.h: Adapt.
+ * include/debug/forward_list (_Safe_forward_list::_M_this): Add const
+ qualification and return pointer for consistency with 'this' keyword.
+ (_Safe_forward_list::_M_swap_aux): Rename into...
+ (_Safe_forward_list::_S_swap_aux): ...this and take sequence as const reference.
+ (forward_list<>::resize): Adapt to use const methods.
+ * include/debug/list (list<>::resize): Likewise.
+ * src/c++11/debug.cc: Adapt to const qualification.
+ * testsuite/util/testsuite_containers.h
+ (forward_members_unordered::forward_members_unordered): Add check on local_iterator
+ conversion to const_local_iterator.
+ (forward_members::forward_members): Add check on iterator conversion to
+ const_iterator.
+ * testsuite/23_containers/unordered_map/const_container.cc: New test case.
+ * testsuite/23_containers/unordered_multimap/const_container.cc: New test case.
+ * testsuite/23_containers/unordered_multiset/const_container.cc: New test case.
+ * testsuite/23_containers/unordered_set/const_container.cc: New test case.
+ * testsuite/23_containers/vector/debug/mutex_association.cc: Adapt.
+
2025-07-07 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/120949