+2026-01-14 Vineet Gupta <vineet.gupta@linux.dev>
+
+ * MAINTAINERS: Update to my linux.dev email.
+
+2026-01-14 Jason Merrill <jason@redhat.com>
+
+ * MAINTAINERS: Update Paolo Carlini email address.
+
+2026-01-14 Daniel Barboza <daniel.barboza@oss.qualcomm.com>
+
+ * MAINTAINERS: Add myself to write after approval.
+
2026-01-10 Jakub Jelinek <jakub@redhat.com>
PR ada/123490
+2026-01-14 Peter Bergner <bergner@tenstorrent.com>
+
+ PR target/123092
+ * config/riscv/constraints.md (ZD): Disable when xmipscbop is disabled.
+
+2026-01-14 Martin Jambor <mjambor@suse.cz>
+
+ PR ipa/123542
+ * ipa-cp.cc (ipa_value_from_jfunc): Always use
+ ipacp_value_safe_for_type. Bail out if parm_type is NULL.
+
+2026-01-14 Wilco Dijkstra <wilco.dijkstra@arm.com>
+
+ PR target/121240
+ * config/aarch64/aarch64.md (mov<mode>): Expand FP immediates early.
+ * config/aarch64/aarch64.cc (aarch64_select_rtx_section): Force
+ immediates <= 8 bytes to constdata.
+ (aarch64_rtx_costs): Increase cost of CONST_DOUBLE loaded from memory.
+
+2026-01-14 Wilco Dijkstra <wilco.dijkstra@arm.com>
+
+ PR target/114528
+ * config/aarch64/aarch64.cc (aarch64_check_mov_add_imm12):
+ New function to check and emit MOV+ADD/SUB immediates.
+ (aarch64_internal_mov_immediate): Add support for MOV+ADD/SUB
+ immediates.
+
+2026-01-14 Tejas Belagod <tejas.belagod@arm.com>
+
+ PR middle-end/123392
+ * cfgexpand.cc (expand_debug_expr): Handle variable-length initializer
+ for CONSTRUCTOR.
+
+2026-01-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/123115
+ * defaults.h (EH_RETURN_DATA_REGNO): Add void (N) to the macro
+ definition inside of a comma expression before INVALID_REGNUM.
+
+2026-01-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/120250
+ * combine.cc (recog_for_combine): Don't try to put SET_SRC
+ into a constant pool if SET_DEST is pc_rtx.
+
+2026-01-14 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/123190
+ * tree-vectorizer.h (vect_load_store_data): Add n_loads member.
+ * tree-vect-stmts.cc (get_load_store_type): Record the
+ number of required loads for permuted loads.
+ (vectorizable_load): Make use of this when costing loads
+ for VMAT_CONTIGUOUS[_REVERSE].
+
+2026-01-14 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/123190
+ * tree-vect-loop.cc (vect_analyze_loop_costing): Allow
+ vectorizing loops with a single scalar iteration iff the
+ vectorization factor is 1.
+
+2026-01-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/123544
+ * simplify-rtx.cc (simplify_context::simplify_binary_operation_1)
+ <case AND>: Don't canonicalize (subreg (lshiftrt (x cnt)) low) into
+ (lshiftrt (subreg x low) cnt) if the SUBREG is paradoxical.
+
+2026-01-14 Prathamesh Kulkarni <prathameshk@nvidia.com>
+
+ * auto-profile.cc: (string_table::filenames): New method.
+ (function_instance::timestamp_): New member.
+ (function_instance::timestamp): New accessor for timestamp_ member.
+ (function_instance::set_timestamp): New function.
+ (function_instance::prop_timestamp): Likewise.
+ (function_instance::prop_timestamp_1): Likewise.
+ (function_instance::function_instance): Initialize timestamp_ to 0.
+ (function_instance::read_function_instance): Adjust prototype by
+ replacing head_count with toplevel param with default value true, and
+ stream in head_count and timestamp values from gcov file.
+ (autofdo::timestamp_info_map): New std::map.
+ (autofdo_source_profile::get_function_instance_by_decl): New argument
+ filename with default value NULL.
+ (autofdo_source_profile::read): Populate timestamp_info_map and
+ propagate timestamp to inlined instances from toplevel function.
+ (afdo_annotate_cfg): Assign node->tp_first_run based on
+ timestamp_info_map and bail out of annotation if
+ param_auto_profile_reorder_only is enabled.
+ * params.opt: New param auto-profile-reorder-only.
+
+2026-01-14 Lili Cui <lili.cui@intel.com>
+
+ * config/i386/x86-tune.def (X86_TUNE_ALIGN_TIGHT_LOOPS):
+ disable tight loop alignment for m_CORE_ATOM.
+
+2026-01-14 Daniel Barboza <daniel.barboza@oss.qualcomm.com>
+
+ * match.pd: remove 'fold_overflow_warning' references.
+ * tree.h (TYPE_OVERFLOW_UNDEFINED): remove note telling
+ that we must use warn_strict_overflow for every optimization
+ based on TYPE_OVERFLOW_UNDEFINED.
+
2026-01-13 Andrew Pinski <andrew.pinski@oss.qualcomm.com>
* match.pd (`(T1)(a bit_op (T2)b)`): Remove redundant
+2026-01-14 Qing Zhao <qing.zhao@oracle.com>
+
+ * c-decl.cc (grokfield): Call verify_counted_by_for_top_anonymous_type
+ for named field.
+ (verify_counted_by_attribute): Change the prototype to a recursive
+ routine.
+ (verify_counted_by_for_top_anonymous_type): New routine.
+ (finish_struct): Set C_TYPE_FIELDS_HAS_COUNTED_BY and call the routine
+ verify_counted_by_attribute only for named structure.
+ * c-parser.cc (c_parser_declaration_or_fndef): Call
+ verify_counted_by_for_top_anonymous_type for the decl.
+ (c_parser_parameter_declaration): Call
+ verify_counted_by_for_top_anonymous_type for the parameter.
+ (c_parser_type_name): Call verify_counted_by_for_top_anonymous_type
+ for the type.
+ * c-tree.h (C_TYPE_FIELDS_HAS_COUNTED_BY): New flag.
+ (verify_counted_by_for_top_anonymous_type): New routine.
+ * c-typeck.cc (build_counted_by_ref): Locate the root named structure,
+ build a chain of component_ref starting from the root structure.
+
2026-01-13 Martin Uecker <uecker@tugraz.at>
PR c/123309
+2026-01-14 David Malcolm <dmalcolm@redhat.com>
+
+ * call.cc (get_fndecl_argument_location): Use DECL_SOURCE_LOCATION
+ for "this".
+ * cp-tree.h (class candidate_context): New.
+ (print_candidates): Add optional candidate_context param.
+ * decl2.cc: Include "gcc-rich-location.h" and
+ "tree-pretty-print-markup.h".
+ (struct fndecl_signature): New.
+ (class parm_rich_location): New.
+ (class fndecl_comparison): New.
+ (class decl_mismatch_context): New.
+ (check_classfn): For the "no declaration matches" case, pass an
+ instance of a custom candidate_context subclass to
+ print_candidates, using fndecl_comparison to report on close
+ matches.
+ * pt.cc (print_candidates): Add optional candidate_context param.
+ Use it if provided to potentially emit per-candidate notes.
+
+2026-01-14 David Malcolm <dmalcolm@redhat.com>
+
+ * call.cc (print_z_candidates): Move inform_n call into a new
+ inform_num_candidates function.
+ * class.cc (check_methods): Pass location to call to
+ print_candidates.
+ (resolve_address_of_overloaded_function): Likewise.
+ * cp-tree.h (print_candidates): Add location_t param.
+ (inform_num_candidates): New decl.
+ * decl.cc (make_typename_type): Pass location to call to
+ print_candidates.
+ (reshape_init_class): Likewise.
+ (lookup_and_check_tag): Likewise.
+ * decl2.cc (check_classfn): Likewise.
+ * error.cc (qualified_name_lookup_error): Likewise.
+ * init.cc (build_new_1): Likewise.
+ * name-lookup.cc (lookup_using_decl): Likewise.
+ (set_decl_namespace): Likewise.
+ (push_namespace): Likewise.
+ * parser.cc (cp_parser_nested_name_specifier_opt): Likewise.
+ (cp_parser_lookup_name): Likewise.
+ * pt.cc (print_candidates_1): Drop, converting the looping part
+ into...
+ (flatten_candidates): ...this new function.
+ (inform_num_candidates): New function.
+ (print_candidates): Use flatten_candidates to build an auto_vec
+ of candidates, and use this to print them here, rather than in
+ print_candidates_1. Eliminate the dynamic allocation of spaces
+ for a prefix in favor of printing "candidate %i" when there is
+ more than one candidate. Add "error_loc" param and pass it to
+ inform_num_candidates to show a heading, and add nesting levels
+ for it and for the candidate notes.
+ (determine_specialization): Pass location to calls to
+ print_candidates.
+ * search.cc (lookup_member): Likewise.
+ * semantics.cc (finish_id_expression_1): Likewise.
+
+2026-01-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/123551
+ * constexpr.cc (potential_constant_expression_1) <case GOTO_EXPR>:
+ Only test DECL_ARTIFICIAL on LABEL_DECLs.
+
2026-01-13 Nathaniel Shead <nathanieloshead@gmail.com>
* coroutines.cc (create_coroutine_info_table): New function.
+2026-01-14 Qing Zhao <qing.zhao@oracle.com>
+
+ * gcc.dg/counted-by-anonymous-2-char.c: New test.
+ * gcc.dg/counted-by-anonymous-2-float.c: New test.
+ * gcc.dg/counted-by-anonymous-2-struct.c: New test.
+ * gcc.dg/counted-by-anonymous-2-union.c: New test.
+ * gcc.dg/counted-by-anonymous-2.c: New test.
+ * gcc.dg/counted-by-anonymous-3.c: New test.
+ * gcc.dg/counted-by-anonymous.c: New test.
+ * gcc.dg/ubsan/counted-by-anonymous-bounds-1.c: New test.
+ * gcc.dg/ubsan/counted-by-anonymous-bounds-2.c: New test.
+ * gcc.dg/ubsan/counted-by-anonymous-bounds.c: New test.
+
+2026-01-14 Martin Jambor <mjambor@suse.cz>
+
+ PR ipa/123542
+ * gcc.dg/ipa/pr123542.c: New test.
+
+2026-01-14 Joseph Myers <josmyers@redhat.com>
+
+ * lib/gcc-dg.exp (gdb-exists): Do not use [transform gdb]. Run
+ selected GDB with -v on target rather than testing for existence
+ on build system.
+ * lib/gcc-simulate-thread.exp (simulate-thread): Do not return
+ early for non-native and remote. Download executable and GDB
+ command file to target before running GDB there, and delete when
+ closing target.
+
+2026-01-14 Joseph Myers <josmyers@redhat.com>
+
+ * lib/gcc-gdb-test.exp (gdb-test): Do not return early for
+ non-native and remote. Download executable and GDB command file
+ to target before running GDB there, and delete when closing
+ target.
+ (report_gdb): Use target when testing GDB availability and
+ version.
+ * g++.dg/guality/guality.exp: Only use in-tree GDB when host =
+ target. Do not use [transform gdb].
+ * gcc.dg/guality/guality.exp: Likewise.
+ * gfortran.dg/guality/guality.exp: Likewise.
+
+2026-01-14 David Malcolm <dmalcolm@redhat.com>
+
+ * g++.dg/diagnostic/bad-fndef-1.C: Add directives to expect
+ "void *" vs "const void *" notes about parameter 3 of the close
+ candidate.
+ * g++.dg/diagnostic/bad-fndef-2.C: New test.
+ * g++.dg/diagnostic/bad-fndef-3.C: New test.
+ * g++.dg/diagnostic/bad-fndef-4.C: New test.
+ * g++.dg/diagnostic/bad-fndef-5.C: New test.
+ * g++.dg/diagnostic/bad-fndef-6.C: New test.
+ * g++.dg/diagnostic/bad-fndef-7.C: New test.
+ * g++.dg/diagnostic/bad-fndef-7b.C: New test.
+ * g++.dg/diagnostic/bad-fndef-8.C: New test.
+ * g++.dg/diagnostic/bad-fndef-9.C: New test.
+
+2026-01-14 David Malcolm <dmalcolm@redhat.com>
+
+ * g++.dg/cpp0x/inline-ns2.C: Make dg-message directives non-empty.
+ * g++.dg/cpp23/explicit-obj-lambda11.C: Prune the extra note.
+ * g++.dg/diagnostic/bad-fndef-1.C: New test.
+ * g++.dg/lookup/decl1.C: Give the dg-message directives different
+ messages.
+ * g++.dg/lookup/using17.C: Update expected output.
+ * g++.dg/parse/non-dependent2.C: Likewise.
+ * g++.old-deja/g++.other/lineno2.C: Give the dg-message directives
+ different messages.
+ * g++.old-deja/g++.pt/t37.C: Likewise.
+
+2026-01-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/123551
+ * g++.dg/ext/goto2.C: New test.
+
+2026-01-14 Wilco Dijkstra <wilco.dijkstra@arm.com>
+
+ PR target/121240
+ * gcc.target/aarch64/dbl_mov_immediate_1.c: Adjust test.
+ * gcc.target/aarch64/pr63304_1.c: Likewise.
+
+2026-01-14 Wilco Dijkstra <wilco.dijkstra@arm.com>
+
+ PR target/114528
+ * gcc.target/aarch64/pr114528.c: New test.
+
+2026-01-14 Tejas Belagod <tejas.belagod@arm.com>
+
+ PR middle-end/123392
+ * gcc.target/aarch64/sve/acle/general/pr123392.c: New.
+
+2026-01-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/120250
+ * gcc.c-torture/compile/pr120250.c: New test.
+
+2026-01-14 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/123190
+ * gcc.dg/vect/costmodel/x86_64/costmodel-pr123190-1.c: Do not
+ require -mtune=generic.
+ * gcc.dg/vect/costmodel/x86_64/costmodel-pr123190-2.c: Add
+ variant with -O2 instead of -O3, inner loop not unrolled.
+
+2026-01-14 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/123190
+ * gcc.dg/vect/costmodel/x86_64/costmodel-pr123190-1.c: New testcase.
+ * gcc.dg/vect/slp-28.c: Avoid epilogue vectorization for
+ simplicity.
+
+2026-01-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/123544
+ * gcc.dg/pr123544.c: New test.
+
+2026-01-14 Nathan Sidwell <nathan@acm.org>
+
+ * lib/scanasm.exp (check_function_body): Clarify mismatch labelling.
+
+2026-01-14 Daniel Barboza <daniel.barboza@oss.qualcomm.com>
+
+ * gcc.dg/Wstrict-overflow-1.c: Removed because we no longer
+ issue a 'fold_overflow_warning' with the
+ `(le (minus (@0 INTEGER_CST@1)) INTEGER_CST@2)` pattern.
+
2026-01-13 Nathaniel Shead <nathanieloshead@gmail.com>
* g++.dg/modules/coro-1_a.C: New test.
+2026-01-14 Thomas Schwinge <tschwinge@baylibre.com>
+
+ * testsuite/libgomp.c++/target-std__unordered_map-concurrent-usm.C:
+ New.
+ * testsuite/libgomp.c++/target-std__unordered_multimap-concurrent-usm.C:
+ Likewise.
+ * testsuite/libgomp.c++/target-std__unordered_multiset-concurrent-usm.C:
+ Likewise.
+ * testsuite/libgomp.c++/target-std__unordered_set-concurrent-usm.C:
+ Likewise.
+ * testsuite/libgomp.c++/target-std__unordered_map-concurrent.C:
+ Adjust.
+ * 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.
+
+2026-01-14 Thomas Schwinge <tschwinge@baylibre.com>
+
+ * testsuite/libgomp.c++/target-std__flat_map-concurrent-usm.C:
+ New.
+ * testsuite/libgomp.c++/target-std__flat_multimap-concurrent-usm.C:
+ Likewise.
+ * testsuite/libgomp.c++/target-std__flat_multiset-concurrent-usm.C:
+ Likewise.
+ * testsuite/libgomp.c++/target-std__flat_set-concurrent-usm.C:
+ Likewise.
+ * testsuite/libgomp.c++/target-std__flat_map-concurrent.C: Adjust.
+ * 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.
+
+2026-01-14 Thomas Schwinge <tschwinge@baylibre.com>
+
+ * testsuite/libgomp.c++/target-std__array-concurrent-usm.C:
+ '#define OMP_USM'.
+ * testsuite/libgomp.c++/target-std__forward_list-concurrent-usm.C:
+ Likewise.
+ * testsuite/libgomp.c++/target-std__list-concurrent-usm.C:
+ Likewise.
+ * testsuite/libgomp.c++/target-std__span-concurrent-usm.C:
+ Likewise.
+ * testsuite/libgomp.c++/target-std__map-concurrent-usm.C:
+ Likewise.
+ * testsuite/libgomp.c++/target-std__multimap-concurrent-usm.C:
+ Likewise.
+ * testsuite/libgomp.c++/target-std__multiset-concurrent-usm.C:
+ Likewise.
+ * testsuite/libgomp.c++/target-std__set-concurrent-usm.C:
+ Likewise.
+ * testsuite/libgomp.c++/target-std__valarray-concurrent-usm.C:
+ Likewise.
+ * testsuite/libgomp.c++/target-std__vector-concurrent-usm.C:
+ Likewise.
+ * testsuite/libgomp.c++/target-std__bitset-concurrent-usm.C:
+ Likewise.
+ * testsuite/libgomp.c++/target-std__deque-concurrent-usm.C:
+ Likewise.
+ * testsuite/libgomp.c++/target-std__array-concurrent.C: Comment.
+ * testsuite/libgomp.c++/target-std__bitset-concurrent.C: Likewise.
+ * testsuite/libgomp.c++/target-std__deque-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__span-concurrent.C: Likewise.
+ * testsuite/libgomp.c++/target-std__valarray-concurrent.C:
+ Likewise.
+ * testsuite/libgomp.c++/target-std__vector-concurrent.C: Likewise.
+ * testsuite/libgomp.c++/target-std__map-concurrent.C [OMP_USM]:
+ Fix up dynamic memory allocation.
+ * testsuite/libgomp.c++/target-std__multimap-concurrent.C
+ [OMP_USM]: Likewise.
+ * testsuite/libgomp.c++/target-std__multiset-concurrent.C
+ [OMP_USM]: Likewise.
+ * testsuite/libgomp.c++/target-std__set-concurrent.C [OMP_USM]:
+ Likewise.
+
+2026-01-14 Thomas Schwinge <tschwinge@baylibre.com>
+
+ * testsuite/libgomp.c-c++-common/map-arrayofstruct-2-usm.c: New.
+ * testsuite/libgomp.c-c++-common/map-arrayofstruct-3-usm.c:
+ Likewise.
+ * testsuite/libgomp.c-c++-common/struct-elem-5-usm.c: Likewise.
+ * testsuite/libgomp.c-c++-common/target-present-1-usm.c: Likewise.
+ * testsuite/libgomp.c-c++-common/target-present-2-usm.c: Likewise.
+ * testsuite/libgomp.c-c++-common/target-present-3-usm.c: Likewise.
+ * testsuite/libgomp.fortran/map-subarray-5-usm.f90: Likewise.
+ * testsuite/libgomp.fortran/map-subarray-6-usm.f90: Likewise.
+ * testsuite/libgomp.fortran/map-subarray-7-usm.f90: Likewise.
+ * testsuite/libgomp.fortran/target-allocatable-1-1-usm.f90:
+ Likewise.
+ * testsuite/libgomp.fortran/target-allocatable-1-2-usm.f90:
+ Likewise.
+ * testsuite/libgomp.fortran/target-enter-data-2-usm.F90: Likewise.
+ * testsuite/libgomp.fortran/target-present-1-usm.f90: Likewise.
+ * testsuite/libgomp.fortran/target-present-2-usm.f90: Likewise.
+ * testsuite/libgomp.fortran/target-present-3-usm.f90: Likewise.
+ * testsuite/libgomp.fortran/target-allocatable-1-1.f90: Adjust.
+ * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
+ * testsuite/libgomp.fortran/target-present-1.f90: Likewise.
+ * testsuite/libgomp.fortran/target-present-2.f90: Likewise.
+ * testsuite/libgomp.fortran/target-present-3.f90: Likewise.
+
2026-01-13 Thomas Schwinge <tschwinge@baylibre.com>
* testsuite/libgomp.fortran/map-alloc-comp-9-usm.f90: Require
+2026-01-14 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ * testsuite/util/testsuite_iterators.h: Modify comment.
+
2026-01-13 Tomasz Kamiński <tkaminsk@redhat.com>
* include/bits/stl_heap.h (std::__is_heap_until, std::__push_heap)