+2026-01-19 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org>
+
+ * configure: Regenerate.
+ * configure.ac: Deprecate -m31.
+
2026-01-14 Vineet Gupta <vineet.gupta@linux.dev>
* MAINTAINERS: Update to my linux.dev email.
+2026-01-19 Jeff Law <jeffrey.law@oss.qualcomm.com>
+
+ PR rtl-optimization/121787
+ * config/riscv/riscv-vsetvl.cc (pre_vsetvl): Adjust call to
+ loop_optimizer_init to avoid making CFG changes.
+
+2026-01-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/sol2.opt.urls: Regenerate.
+ * config/darwin.opt.urls: Likewise.
+ * config/dragonfly.opt.urls: Likewise.
+ * config/freebsd.opt.urls: Likewise.
+ * config/gnu-user.opt.urls: Likewise.
+ * config/hpux11.opt.urls: Likewise.
+ * config/i386/cygwin.opt.urls: Likewise.
+ * config/mingw/mingw.opt.urls: Likewise.
+ * config/netbsd.opt.urls: Likewise.
+ * config/openbsd.opt.urls: Likewise.
+ * config/rs6000/aix64.opt.urls: Likewise.
+ * config/rtems.opt.urls: Likewise.
+
+2026-01-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/sol2.h (CPP_SUBTARGET_SPEC): Remove.
+ * config/sol2.opt (pthread): Ignore.
+ (pthreads): Likewise.
+ * config/i386/sol2.h (CPP_SPEC): Remove.
+ (SUBTARGET_CPU_EXTRA_SPECS): Remove cpp_subtarget.
+ * doc/invoke.texi (Solaris 2 Options, pthread): Remove.
+
+2026-01-19 Jeff Law <jeffrey.law@oss.qualcomm.com>
+ Andrew Pinski <andrew.pinski@oss.qualcomm.com>
+
+ PR target/113666
+ * fold-const-call.cc (fold_const_vec_extract): New function.
+ (fold_const_call, case CFN_VEC_EXTRACT): Call it.
+ * match.pd (IFN_VEC_EXTRACT): Handle extraction from a uniform
+ vector.
+
+2026-01-19 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/123061
+ PR tree-optimization/123636
+ * tree-ssa-loop-im.cc (fill_always_executed_in_1): Change
+ outer-to-inner to inner-to-outer iteration. Update inner
+ loop state only when always executed in an immediately
+ nested loop.
+
+2026-01-19 Tobias Burnus <tburnus@baylibre.com>
+
+ * doc/install.texi (GCN): gfx9-4-generic requires LLVM 20.
+
+2026-01-19 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/123602
+ * tree-ssa-pre.cc (find_or_generate_expression): Do not
+ generate references to abnormal SSA names.
+
+2026-01-19 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org>
+
+ * config.gcc: Deprecate -m31.
+ * doc/invoke.texi: Deprecate -m31.
+
+2026-01-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/123656
+ * tree-vect-generic.cc (expand_vector_mult): Fix up alg_sub_factor
+ handling. Fix up formatting in alg_add_t_m2 handling.
+
+2026-01-19 Richard Biener <rguenther@suse.de>
+
+ PR target/123603
+ * config/i386/i386.opt (-param=ix86-vect-compare-costs=): Add.
+ * config/i386/i386.cc (ix86_autovectorize_vector_modes): Honor it.
+ * doc/invoke.texi (ix86-vect-compare-costs): Document.
+
+2026-01-19 Lulu Cheng <chenglulu@loongson.cn>
+
+ PR target/117575
+ * config/loongarch/lasx.md: Modify the range of operand1.
+
2026-01-18 Andrew Pinski <andrew.pinski@oss.qualcomm.com>
PR tree-optimization/123645
+2026-01-20 Pietro Monteiro <pietro@sociotechnical.xyz>
+
+ * a68-low-clauses.cc (a68_lower_collateral_clause): Update
+ call to a68_lower_alloca.
+ * a68-low-coercions.cc (a68_lower_widening): Likewise.
+ * a68-low-generator.cc (allocator_t): Adjust typedef.
+ (fill_in_buffer): Adjust call to allocator.
+ (gen_mode): Likewise.
+ * a68-low-multiples.cc (a68_row_malloc): Change type parameter to MOID_T
+ from tree. Adjust call to a68_lower_malloc.
+ * a68-low-posix.cc (a68_posix_fgets): Adjust call to a68_row_malloc.
+ (a68_posix_gets): Likewise.
+ * a68-low-runtime.def (MALLOC_LEAF): Add definition for
+ _libga68_malloc_leaf.
+ * a68-low-strings.cc (a68_string_concat): Adjust call to
+ a68_lower_malloc.
+ (a68_string_from_char): Likewise.
+ * a68-low-units.cc (a68_lower_slice): Likewise.
+ * a68-low.cc (a68_low_dup): Adjust calls to a68_lower_malloc
+ and a68_lower_alloca.
+ (a68_lower_alloca): Change type parameter to MOID_T from tree.
+ (a68_lower_malloc): Likewise. Use _libga68_malloc_leaf if the MOID_T
+ doesn't have refs, use _libga68_malloc otherwise.
+ * a68-parser-modes.cc (a68_create_mode): Set has_refs on the new mode.
+ (is_mode_has_refs): New function.
+ (compute_derived_modes): Set has_refs on the chain of modes.
+ * a68-parser.cc (a68_new_moid): Set has_refs to false by
+ default.
+ * a68-types.h (struct MOID_T): Add member `has_refs`.
+ (HAS_REFS): New macro.
+ * a68.h (a68_row_malloc): Update prototype.
+ (a68_lower_alloca): Likewise.
+ (a68_lower_malloc): Likewise.
+
2026-01-17 Jose E. Marchesi <jemarch@gnu.org>
* a68-parser-prelude.cc (stand_prelude): Remove definitions for ^
+2026-01-19 Jakub Jelinek <jakub@redhat.com>
+
+ * metafns.gperf: Add "" as second operand of 2 static_asserts.
+ * metafns.h: Regenerate.
+
2026-01-18 Marek Polacek <polacek@redhat.com>
* reflect.cc (get_reflection): Adjust the error message for the
+2026-01-19 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/123375
+ * decl.cc (gfc_match_import): Check that imported entity within
+ a interface is not from local scope.
+
2026-01-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/122957
+2026-01-19 Joseph Myers <josmyers@redhat.com>
+
+ * es.po: Update.
+
2025-11-10 Joseph Myers <josmyers@redhat.com>
* es.po: Update.
+2026-01-19 Jeff Law <jeffrey.law@oss.qualcomm.com>
+
+ PR rtl-optimization/121787
+ * gcc.target/riscv/pr121787-1.c: New test.
+ * gcc.target/riscv/pr121787-2.c: New test.
+
+2026-01-19 Joseph Myers <josmyers@redhat.com>
+
+ * g++.old-deja/g++.mike/eh30.C, g++.old-deja/g++.mike/p4750.C,
+ g++.old-deja/g++.robertl/eb106.C, g++.old-deja/g++.robertl/eb83.C,
+ gcc.dg/20020201-1.c: Do not use { target native }.
+
+2026-01-19 Georg-Johann Lay <avr@gjlay.de>
+
+ PR testsuite/123175
+ * gcc.dg/torture/pr123175-1.c: Use int32_t instead of int in
+ vec-type construction.
+ * gcc.dg/torture/pr123175-2.c: Same.
+
+2026-01-19 Jeff Law <jeffrey.law@oss.qualcomm.com>
+ Andrew Pinski <andrew.pinski@oss.qualcomm.com>
+
+ PR target/113666
+ * gcc.target/riscv/rvv/base/pr113666.c: New test.
+
+2026-01-19 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/123061
+ PR tree-optimization/123636
+ * gcc.dg/torture/pr123061.c: New testcase.
+ * gcc.dg/torture/pr123636.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-lim-26.c: Likewise.
+
+2026-01-19 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/123602
+ * g++.dg/torture/pr123603.C: New testcase.
+
+2026-01-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/123656
+ * gcc.dg/pr123656.c: New test.
+
+2026-01-19 Richard Biener <rguenther@suse.de>
+
+ PR target/123603
+ * gcc.dg/vect/costmodel/x86_64/costmodel-pr123603.c: New testcase.
+
+2026-01-19 Lulu Cheng <chenglulu@loongson.cn>
+
+ PR target/117575
+ * g++.target/loongarch/pr117575.C: New test.
+
+2026-01-19 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/123375
+ * gfortran.dg/import.f90: Run code testing for a warning that
+ is now an error.
+ * gfortran.dg/pr123375.f90: New test.
+
2026-01-18 Marek Polacek <polacek@redhat.com>
* g++.dg/reflect/expr6.C: Adjust dg-error.
+2026-01-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR libgcc/123650
+ * Makefile.am (toolexeclib_DATA): Remove.
+ (all-local): For LIBAT_BUILD_ASNEEDED_SOLINK instead of installing
+ libatomic_asneeded.{so,a} from top_srcdir cd into the destination
+ directory, use echo to write libatomic_asneeded.so and $(LN_S) to
+ symlink libatomic_asneeded.a to libatomic.a.
+ (install-data-am): For LIBAT_BUILD_ASNEEDED_SOLINK depend on
+ install-asneeded.
+ (install-asneeded): New goal.
+ * libatomic_asneeded.so: Remove.
+ * libatomic_asneeded.a: Remove.
+ * Makefile.in: Regenerate.
+
2026-01-13 Jakub Jelinek <jakub@redhat.com>
PR libstdc++/123396
+2026-01-20 Pietro Monteiro <pietro@sociotechnical.xyz>
+
+ * ga68-alloc.c (_libga68_malloc_leaf): New function.
+ * ga68-posix.c (_libga68_posixfgets): Use _libga68_malloc_leaf
+ instead of _libga68_malloc.
+ * ga68-unistr.c (_libga68_u32_to_u8): Likewise.
+ (_libga68_u8_to_u32): Likewise.
+ * ga68.h (_libga68_malloc_leaf): New prototype.
+ * ga68.map: Add _libga68_malloc_leaf to the global map.
+
+2026-01-19 Mohammad-Reza Nabipoor <mnabipoor@gnu.org>
+
+ * configure.ac (--enable-algol68-gc): Change default value to `auto'.
+ * configure: Re-generate.
+
2026-01-12 Pietro Monteiro <pietro@sociotechnical.xyz>
* configure: Regenerate.
+2026-01-19 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ PR libstdc++/114153
+ * include/bits/ranges_cmp.h (__detail::__less_builtin_ptr_cmp):
+ Add __not_overloaded_spaceship spaceship check.
+ * include/bits/stl_function.h (greater<void>::operator())
+ (less<void>::operator(), greater_equal<void>::operator())
+ (less_equal<void>::operator()): Implement using if constexpr.
+ (greater<void>::__S_cmp, less<void>::__S_cmp)
+ (greater_equal<void>::__ptr_comp, less_equal<void>::S_cmp):
+ Remove.
+ (greater<void>::__ptr_cmp, less<void>::__ptr_cmp)
+ (greater_equal<void>::__ptr_comp, less_equal<void>::ptr_cmp): Change
+ tostatic constexpr variable. Define in terms of requires expressions
+ and __not_overloaded_spaceship check.
+ * include/std/concepts: (__detail::__not_overloaded_spaceship):
+ Define.
+ * libsupc++/compare: (__detail::__3way_builtin_ptr_cmp): Use
+ __not_overloaded_spaceship concept.
+ * testsuite/20_util/function_objects/comparisons_pointer_spaceship.cc: New test.
+
+2026-01-19 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ * include/bits/erase_if.h (__detail::__erase_if): Pass mutable
+ iterators to __cont.erase.
+
+2026-01-19 François Dumont <frs.dumont@gmail.com>
+
+ * include/bits/erase_if.h (__detail::__erase_if): New.
+ * include/debug/deque (std::erase_if<>(__debug::deque<>&, _Pred)): Use latter.
+ * include/debug/inplace_vector (std::erase_if<>(__debug::inplace_vector<>&, _Pred)):
+ Likewise.
+ * include/debug/vector (std::erase_if<>(__debug::vector<>&, _Pred)): Likewise.
+ * include/std/deque: Include erase_if.h.
+ (std::erase_if<>(std::vector<>&, _Pred)): Adapt to use __detail::__erase_if.
+ * include/std/inplace_vector (std::erase_if<>(std::inplace_vector<>&, _Pred)):
+ Likewise.
+ * include/std/string (std::erase_if<>(std::basic_string<>&, _Pred)): Likewise.
+ * include/std/vector (std::erase_if<>(std::vector<>&, _Pred)): Likewise.
+ * include/debug/forward_list
+ (std::erase_if<>(__debug::forward_list<>&, _Pred)): New.
+ (std::erase<>(__debug::forward_list<>&, const _Up&)): New.
+ * include/debug/list
+ (std::erase_if<>(__debug::list<>&, _Pred)): New.
+ (std::erase<>(__debug::list<>&, const _Up&)): New.
+ * include/debug/map (std::erase_if<>(__debug::map<>&, _Pred)): New.
+ (std::erase_if<>(__debug::multimap<>&, _Pred)): New.
+ * include/debug/set (std::erase_if<>(__debug::set<>&, _Pred)): New.
+ (std::erase_if<>(__debug::multiset<>&, _Pred)): New.
+ * include/debug/string
+ (std::erase_if<>(__gnu_debug::basic_string<>&, _Pred)): New.
+ (std::erase<>(__gnu_debug::basic_string<>&, const _Up&)): New.
+ * include/debug/unordered_map
+ (std::erase_if<>(__debug::unordered_map<>&, _Pred)): New.
+ (std::erase_if<>(__debug::unordered_multimap<>&, _Pred)): New.
+ * include/debug/unordered_set
+ (std::erase_if<>(__debug::unordered_set<>&, _Pred)): New.
+ (std::erase_if<>(__debug::unordered_multiset<>&, _Pred)): New.
+ * include/std/forward_list (std::erase_if<>(std::forward_list<>&, _Pred)):
+ Adapt to work exclusively for normal implementation.
+ (std::erase<>(std::forward_list<>&, const _Up&)): Likewise.
+ * include/std/list (std::erase_if<>(std::list<>&, _Pred)): Likewise.
+ (std::erase<>(std::list<>&, const _Up&)): Likewise.
+ * include/std/map (std::erase_if<>(std::map<>&, _Pred)): Likewise.
+ (std::erase_if<>(std::multimap<>&, _Pred)): Likewise.
+ Guard functions using __cpp_lib_erase_if.
+ * include/std/set (std::erase_if<>(std::set<>&, _Pred)): Likewise.
+ (std::erase_if<>(std::multiset<>&, _Pred)): Likewise.
+ Guard functions using __cpp_lib_erase_if.
+ * include/std/unordered_map
+ (std::erase_if<>(std::unordered_map<>&, _Pred)): Likewise.
+ (std::erase_if<>(std::unordered_multimap<>&, _Pred)): Likewise.
+ Guard functions using __cpp_lib_erase_if.
+ * include/std/unordered_set
+ (std::erase_if<>(std::unordered_set<>&, _Pred)): Likewise.
+ (std::erase_if<>(std::unordered_multiset<>&, _Pred)): Likewise.
+ Guard functions using __cpp_lib_erase_if.
+ * testsuite/21_strings/basic_string/debug/erase.cc: New test case.
+ * testsuite/23_containers/forward_list/debug/erase.cc: New test case.
+ * testsuite/23_containers/forward_list/debug/invalidation/erase.cc: New test case.
+ * testsuite/23_containers/list/debug/erase.cc: New test case.
+ * testsuite/23_containers/list/debug/invalidation/erase.cc: New test case.
+ * testsuite/23_containers/map/debug/erase_if.cc: New test case.
+ * testsuite/23_containers/map/debug/invalidation/erase_if.cc: New test case.
+ * testsuite/23_containers/multimap/debug/erase_if.cc: New test case.
+ * testsuite/23_containers/multimap/debug/invalidation/erase_if.cc: New test case.
+ * testsuite/23_containers/multiset/debug/erase_if.cc: New test case.
+ * testsuite/23_containers/multiset/debug/invalidation/erase_if.cc: New test case.
+ * testsuite/23_containers/set/debug/erase_if.cc: New test case.
+ * testsuite/23_containers/set/debug/invalidation/erase_if.cc: New test case.
+ * testsuite/23_containers/unordered_map/debug/erase_if.cc: New test case.
+ * testsuite/23_containers/unordered_map/debug/invalidation/erase_if.cc: New test case.
+ * testsuite/23_containers/unordered_multimap/debug/erase_if.cc: New test case.
+ * testsuite/23_containers/unordered_multimap/debug/invalidation/erase_if.cc: New test case.
+ * testsuite/23_containers/unordered_multiset/debug/erase_if.cc: New test case.
+ * testsuite/23_containers/unordered_multiset/debug/invalidation/erase_if.cc: New test case.
+ * testsuite/23_containers/unordered_set/debug/erase_if.cc: New test case.
+ * testsuite/23_containers/unordered_set/debug/invalidation/erase_if.cc: New test case.
+
2026-01-15 Jakub Jelinek <jakub@redhat.com>
* include/std/type_traits (std::is_reflection, std::is_fundamental,