[gcc r16-6076] Daily bump.

GCC Administrator gccadmin@gcc.gnu.org
Sat Dec 13 00:17:08 GMT 2025


https://gcc.gnu.org/g:bcbb5365513554a97245f7fca4486d292fbcd5db

commit r16-6076-gbcbb5365513554a97245f7fca4486d292fbcd5db
Author: GCC Administrator <gccadmin@gcc.gnu.org>
Date:   Sat Dec 13 00:16:34 2025 +0000

    Daily bump.

Diff:
---
 ChangeLog               |   4 +
 contrib/ChangeLog       |   5 +
 gcc/ChangeLog           | 202 +++++++++++
 gcc/DATESTAMP           |   2 +-
 gcc/algol68/ChangeLog   |  13 +
 gcc/analyzer/ChangeLog  | 916 ++++++++++++++++++++++++++++++++++++++++++++++++
 gcc/c-family/ChangeLog  |   8 +
 gcc/c/ChangeLog         |   9 +
 gcc/cp/ChangeLog        |  18 +
 gcc/fortran/ChangeLog   |  19 +
 gcc/go/ChangeLog        |   4 +
 gcc/m2/ChangeLog        |   4 +
 gcc/rust/ChangeLog      |   4 +
 gcc/testsuite/ChangeLog | 714 +++++++++++++++++++++++++++++++++++++
 include/ChangeLog       |   7 +
 libgcc/ChangeLog        |   8 +
 libgomp/ChangeLog       |  24 ++
 libitm/ChangeLog        |   5 +
 libstdc++-v3/ChangeLog  |   4 +
 19 files changed, 1969 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog
index a2e36c217298..bd0d51be0eb9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2025-12-12  Pietro Monteiro  <pietro@sociotechnical.xyz>
+
+	* MAINTAINERS: add myself to write after approval
+
 2025-12-11  Jeff Law  <jlaw@ventanamicro.com>
 
 	* MAINTAINERS: Update entries for contributors formerly at
diff --git a/contrib/ChangeLog b/contrib/ChangeLog
index 67fba233429b..d910cf2d4330 100644
--- a/contrib/ChangeLog
+++ b/contrib/ChangeLog
@@ -1,3 +1,8 @@
+2025-12-12  mengqinggang  <mengqinggang@loongson.cn>
+	    Jiajie Chen  <c@jia.je>
+
+	* config-list.mk: Add loongarch32-linux-gnu*.
+
 2025-12-11  Joseph Myers  <josmyers@redhat.com>
 
 	* test_installed: Use config.sub to determine canonical target.
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index edb9ebf91539..5128c4d9c6bd 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,205 @@
+2025-12-12  Chung-Lin Tang  <cltang@baylibre.com>
+	    Tobias Burnus  <tburnus@baylibre.com>
+	    Andrew Stubbs  <ams@baylibre.com>
+
+	* gimplify.cc (gimplify_scan_omp_clauses): Handle uses_allocators
+	by printing a 'sorry, unimplemented' and removing it.
+	* tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_USES_ALLOCATORS.
+	* tree.cc (omp_clause_num_ops, omp_clause_code_name): Likewise.
+	* tree-pretty-print.cc (dump_omp_clause): Handle it.
+	* tree.h (OMP_CLAUSE_USES_ALLOCATORS_ALLOCATOR,
+	OMP_CLAUSE_USES_ALLOCATORS_MEMSPACE,
+	OMP_CLAUSE_USES_ALLOCATORS_TRAITS): New.
+
+2025-12-12  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>
+
+	PR tree-optimization/103680
+	* tree-loop-distribution.cc (destroy_loop): Set probability
+	of the exit edge to be always.
+
+2025-12-12  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>
+
+	PR tree-optimization/103680
+	* tree-cfg.cc (make_forwarders_with_degenerate_phis): Fix
+	initial value of the count to new bb.
+
+2025-12-12  Stefan Schulze Frielinghaus  <stefansf@gcc.gnu.org>
+
+	* config/s390/s390.cc (s390_expand_builtin): Warn about
+	non-overloaded deprecated builtins.
+
+2025-12-12  Stefan Schulze Frielinghaus  <stefansf@gcc.gnu.org>
+
+	* config/s390/s390-c.cc (s390_adjust_builtin_arglist): Fix
+	builtin s390_vec_load_bndry for C++.
+
+2025-12-12  Stefan Schulze Frielinghaus  <stefansf@gcc.gnu.org>
+
+	* config/s390/s390-c.cc (s390_resolve_overloaded_builtin):
+	Perform array-to-pointer conversion for C++.
+
+2025-12-12  David Malcolm  <dmalcolm@redhat.com>
+
+	PR analyzer/122003
+	* Makefile.in (ANALYZER_OBJS): Add analyzer/ops.o,
+	analyzer/supergraph-fixup-locations.o,
+	analyzer/supergraph-simplify.o, and analyzer/supergraph-sorting.o.
+	* digraph.h (dnode::add_in_edge): New.
+	(dnode::remove_in_edge): New.
+	(dnode::add_out_edge): New.
+	(dnode::remove_out_edge): New.
+	(dnode::m_preds): Make public.
+	(dnode::m_succs): Likewise.
+	(dnode::find_edge_idx): New.
+	(dedge::edge_t): New typedef.
+	(dedge::m_src): Make non-const.
+	(dedge::m_dest): Likewise.
+	(dedge::set_dest): New.
+	(digraph::add_any_extra_stmts): New.
+	(digraph<GraphTraits>::dump_dot_to_pp): Call it.
+	* doc/analyzer.texi: Update for rewrite of supergraph.
+	* doc/invoke.texi (fanalyzer-fine-grained): Make this as a no-op
+	preserved for backwards compatibility.
+	(fanalyzer-simplify-supergraph): Document new option.
+	(fdump-analyzer-supergraph): Update for changes to output.
+	* gdbhooks.py (AnaSupernodePrinter.to_string): Update for renaming
+	of supernode::m_index to supernode::m_id.
+	* system.h: Include <deque> if INCLUDE_DEQUE was defined.
+
+2025-12-12  Jakub Jelinek  <jakub@redhat.com>
+
+	PR rtl-optimization/121852
+	* rtlanal.cc (single_set_2): Only look for REG_UNUSED notes if
+	df && df_note, otherwise if df and SET_DEST is a pseudo with
+	DF_REG_USE_COUNT 0, assume it is unused as well.  Otherwise
+	assume it may be used.
+
+2025-12-12  Tejas Belagod  <tejas.belagod@arm.com>
+	    Tamar Christina  <tamar.christina@arm.com>
+
+	* config/aarch64/aarch64.cc (aarch64_instruction_selection): Flip
+	svbool_t == to != to avoid extra bit-inverse.
+
+2025-12-12  mengqinggang  <mengqinggang@loongson.cn>
+
+	* config/loongarch/loongarch.cc (loongarch_block_move_loop): Change
+	length, align to unsigned.
+	(loongarch_expand_block_move): Ditto.
+
+2025-12-12  Jiajie Chen  <c@jia.je>
+
+	* config/loongarch/loongarch.cc (loongarch_emit_int_compare):
+	Call trunc_int_mode to ensure valid rhs.
+
+2025-12-12  mengqinggang  <mengqinggang@loongson.cn>
+
+	* config/loongarch/predicates.md: Add CONSTM1_RTX for low_bitmask_operand.
+
+2025-12-12  mengqinggang  <mengqinggang@loongson.cn>
+
+	* config/loongarch/larchintrin.h (__movgr2fcsr): Disable on soft float.
+	(__cacop_w): New.
+	(__lddir_d): Delete #error.
+	(__ldpte_d): Likewise.
+	(__crc_w_w_w): Disable on LA32
+	(__crc_w_d_w): Likewise.
+	(__crcc_w_w_w): Likewise.
+	* config/loongarch/loongarch-builtins.cc : Disable some builtin on LA32.
+
+2025-12-12  mengqinggang  <mengqinggang@loongson.cn>
+	    Jiajie Chen  <c@jia.je>
+
+	* config/loongarch/loongarch-opts.cc (loongarch_target_option_override):
+	Delete opts->x_flag_pcc_struct_return and enable mstrict-align by
+	default on LA32.
+	* config/loongarch/loongarch.cc (loongarch_for_each_saved_reg): Save reg
+	depend on float abi.
+	(loongarch_explicit_relocs_p): Disable explicit relocs on LA32.
+	(loongarch_valid_offset_p): Disable const_imm16_operand with 4 byte aligned.
+	(loongarch_valid_lo_sum_p): Allow lo_sum to be used with DF in ilp32d.
+	(loongarch_valid_index_p): Disable ADDRESS_REG_REG on LA32.
+	(loongarch_legitimize_address): Disable mem_shadd_or_shadd_rtx_p on LA32.
+	(loongarch_output_move_index):  Assert TARGET_64BIT for ldx/stx.
+	(loongarch_output_move): Disable ldptr/stptr if offset is 0.
+	(loongarch_output_equal_conditional_branch): Disable beqz/bnez on LA32R.
+	(loongarch_trampoline_init): Change pcaddi to pcaddu12i.
+	(loongarch_get_separate_components): Disable ldptr/stptr on LA32.
+	(loongarch_c_mode_for_floating_type): Use TFmode for long double
+	regardless of target bitness.
+	(loongarch_bitint_type_info): Disable BitInt on LA32.
+	(loongarch_call_tls_get_addr): Use call30 on LA32.
+	(loongarch_split_move): Add split for DI, DF, TF.
+	* config/loongarch/loongarch.h (LA_LONG_DOUBLE_TYPE_SIZE): Set
+	LONG_DOUBLE_TYPE_SIZE to 128 regardless of target bitness.
+	(MAX_FIXED_MODE_SIZE): Set to 64 on LA32.
+	(DEFAULT_PCC_STRUCT_RETURN): New.
+	(STACK_BOUNDARY): Set to 128 on LA64 and LA32.
+	(LARCH_STACK_ALIGN): Set to 16 on LA64 and LA32.
+	(TRAMPOLINE_SIZE): Set to same value on LA64 and LA32.
+
+2025-12-12  mengqinggang  <mengqinggang@loongson.cn>
+	    Jiajie Chen  <c@jia.je>
+
+	* config/loongarch/constraints.md: Disable k on LA32.
+	* config/loongarch/loongarch.md (*and<mode>3): Delete.
+	(*and<mode>3_extend): New.
+	(zero_extend<SHORT:mode><GPR:mode>2_la32r): New.
+	(extend<SHORT:mode><GPR:mode>2_la32r): New.
+	(extendqihi2_la32r): New.
+	(*movdi_32bit): Remove not working split, use existing
+	loongarch_split_move instead.
+	(move_doubleword_2_<mode>): New.
+	(load_low<mode>): New.
+	(load_high<mode>): New.
+	(store_word<mode>): New.
+	(movgr2frh<mode>): New.
+	(movfrh2gr<mode>): New.
+	* config/loongarch/predicates.md: Disable low_bitmask_operand and
+	ins_zero_bitmask_operand on LA32. Enable const_call_insn_operand on LA32.
+	* config/loongarch/sync.md (atomic_<amop><mode>): Change to define_expand.
+	(la64_atomic_<amop><mode>): New.
+	(la32_atomic_<amop>si): New.
+	(atomic_fetch_<amop><mode>): Change to define_expand.
+	(la64_atomic_fetch_<amop><mode>): New.
+	(la32_atomic_fetch_<amop>si): New.
+	(atomic_exchange<mode>): Change to define_expand.
+	(la64_atomic_exchange<mode>): New.
+	(la32_atomic_exchangesi): New.
+
+2025-12-12  mengqinggang  <mengqinggang@loongson.cn>
+	    Jiajie Chen  <c@jia.je>
+
+	* config.gcc: Add target triple loongarch32-*-*-* and
+	corresponding abi ilp32f, ilp32d and ilp32s.
+	* config/loongarch/genopts/loongarch-strings: Add strings for
+	loongarch32 and ilp32 abi variants.
+	* config/loongarch/genopts/loongarch.opt.in: Add
+	-march=la32v1.0/la32rv1.0 and -mabi=ilp32d/ilp32f/ilp32s.
+	* config/loongarch/gnu-user.h: Add ilp32 abi variants to spec.
+	* config/loongarch/linux.h: Add ABI_LIBDIR for ilp32 abi
+	variants.
+	* config/loongarch/loongarch-c.cc (loongarch_define_unconditional_macros):
+	Add builtin definitions for loongarch32 target.
+	* config/loongarch/loongarch-def.cc: Add loongarch32 and ilp32
+	definitions.
+	* config/loongarch/loongarch-def.h: Add loongarch32 and ilp32
+	definitions.
+	* config/loongarch/loongarch-driver.h: Add ilp32 abi variants to
+	spec.
+	* config/loongarch/loongarch-opts.cc: Handle ilp32 abi variants.
+	* config/loongarch/loongarch-opts.h: Add loongarch32 case to
+	macros.
+	* config/loongarch/loongarch-str.h: Add loongarch32 and ilp32
+	strings.
+	* config/loongarch/loongarch.opt: Add -march=la32v1.0/la32rv1.0
+	and -mabi=ilp32d/ilp32f/ilp32s.
+	* config/loongarch/t-linux: Add ilp32 abi variants to multilib.
+	* doc/invoke.texi: Add LA32 arch and tune.
+
+2025-12-12  Pietro Monteiro  <pietro@sociotechnical.xyz>
+
+	* common.opt.urls: Regenerate.
+
 2025-12-11  Jakub Jelinek  <jakub@redhat.com>
 
 	* config/arc/arc.cc (hwloop_optimize): Fix comment typo,
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index 82fce1688754..d0261d859d97 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20251212
+20251213
diff --git a/gcc/algol68/ChangeLog b/gcc/algol68/ChangeLog
index ddf05c2086ee..5406ae027c2a 100644
--- a/gcc/algol68/ChangeLog
+++ b/gcc/algol68/ChangeLog
@@ -1,3 +1,16 @@
+2025-12-12  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+	* a68-parser-scanner.cc (a68_lexical_analyser): New argument
+	empty_program.
+	* a68.h: Update prototype of a68_lexical_analyser.
+	* a68-parser.cc (a68_parser): Emit error for empty input files.
+
+2025-12-12  Pietro Monteiro  <pietro@sociotechnical.xyz>
+
+	* ga68.texi (@opindex I): Expand.
+	(@oindex L): New.
+	* lang.opt.urls: Regenerate.
+
 2025-12-10  Jose E. Marchesi  <jose.marchesi@oracle.com>
 
 	* lang.opt: Add entry for OPT_L.
diff --git a/gcc/analyzer/ChangeLog b/gcc/analyzer/ChangeLog
index 9ede6648c3f7..23b06b21d590 100644
--- a/gcc/analyzer/ChangeLog
+++ b/gcc/analyzer/ChangeLog
@@ -1,3 +1,919 @@
+2025-12-12  David Malcolm  <dmalcolm@redhat.com>
+
+	* analyzer.opt.urls: Regenerate.
+
+2025-12-12  David Malcolm  <dmalcolm@redhat.com>
+
+	PR analyzer/122003
+	* analyzer-logging.h (class log_nesting_level): New.
+	(log_nesting_level::log_nesting_level): New.
+	(log_nesting_level::~log_nesting_level): New.
+	* analyzer.cc (is_cxa_end_catch_p): New.
+	* analyzer.opt (fdump-analyzer-callgraph): Make this as a no-op
+	preserved for backwards compatibility.
+	(fanalyzer-fine-grained): Likewise.
+	(fanalyzer-simplify-supergraph): New.
+	* bounds-checking.cc (strip_types): Update for changes to
+	widening_svalue.
+	* call-details.h: Include "pending-diagnostic.h".
+	* call-info.cc (custom_edge_info::get_dot_attrs): New.
+	(call_info::add_events_to_path): Add pending_diagnostic & param.
+	Fix indentation.
+	* call-info.h (call_info::add_events_to_path): Add
+	pending_diagnostic & param.
+	* call-string.cc (call_string::element_t::operator==): Reimplement.
+	(call_string::element_t::cmp): New.
+	(call_string::element_t::get_caller_function): Likewise.
+	(call_string::element_t::get_callee_function): Likewise.
+	(call_string::element_t::get_call_snode_in_caller): New.
+	(call_string::element_t::get_return_snode_in_caller): New.
+	(call_string::element_t::get_call_stmt): New.
+	(call_string::print): Update for new implementation.
+	(call_string::to_json): Likewise.
+	(call_string::push_call): Likewise.
+	(call_string::count_occurrences_of_function): Likewise.
+	(call_string::cmp): Likewise.
+	(call_string::get_callee_node): Delete.
+	(call_string::get_caller_node): Convert into...
+	(call_string::get_return_node_in_caller): ...this new function.
+	(call_string::validate): Update for new implementation.
+	(call_string::recursive_log): Likewise.
+	* call-string.h (class call_superedge): Delete forward decl.
+	(class return_superedge): Likewise.
+	(class call_and_return_op): New forward decl.
+	(struct call_string::element_t): Reimplement using
+	call_and_return_op, rather than relying on interprocedural edges
+	in the supergraph.
+	(class call_string): Likewise.
+	* call-summary.cc (call_summary::get_fndecl): Reimplement.
+	(call_summary_replay::convert_svalue_from_summary_1): Update for
+	changes to widening_svalue.
+	* checker-event.cc (event_kind_to_string): Update for renamings
+	of event_kind::{call_edge -> call_} and
+	event_kind::{return_edge -> return_}.
+	(region_creation_event_debug::print_desc): Update for change to
+	event_loc_info.
+	(state_change_event::state_change_event): Pass in event_loc_info
+	rather than stack_depth, and pass it to checker_event ctor.
+	(superedge_event::get_callgraph_superedge): Delete.
+	(superedge_event::should_filter_p): Reimplement in terms of
+	get_any_cfg_edge.
+	(superedge_event::get_call_and_return_op): New.
+	(superedge_event::superedge_event): Drop m_eedge and
+	m_critical_state.  Add assertion that the superedge is non-null.
+	(cfg_edge_event::get_cfg_superedge): Delete.
+	(cfg_edge_event::cfg_edge_event): Add "op" param, and remove
+	assertion refering to kinds of superedge.
+	(cfg_edge_event::get_meaning): Reimplement without
+	cfg_superedge.
+	(cfg_edge_event::get_cfg_edge): New.
+	(start_cfg_edge_event::print_desc): Use m_op.  Update for renaming
+	of superedge::m_index to superedge::m_id.
+	(start_cfg_edge_event::maybe_describe_condition): Reimplement in
+	ops.cc as gcond_edge_op::maybe_describe_condition.
+	(start_cfg_edge_event::should_print_expr_p): Reimplement in ops.cc
+	as gcond_edge_op::should_print_expr_p.
+	(call_event::call_event): Update for renaming of event_kind.  Drop
+	assertion about superedge kind.
+	(call_event::print_desc): Update for consolidation of m_var and
+	m_critical_state into a struct.
+	(return_event::return_event): Inherit directly from checker_event.
+	Drop assertion referring to kinds of superedge.  Initialize m_edge
+	and m_call_and_return_op.
+	(return_event::print_desc): Update for change to m_critical_state.
+	* checker-event.h (enum class event_kind): Rename call_edge to
+	call_, and return_edge to return_.
+	(state_change_event::state_change_event): Update for changes to
+	location-handling in base class ctor.
+	(state_change_event::record_critical_state): Drop this, moving
+	it to special-cases in the subclasses that need it.
+	(state_change_event::get_callgraph_superedge): Delete.
+	(superedge_event::get_call_and_return_op): New vfunc decl.
+	(superedge_event::m_var, superedge_event::m_critical_state): Drop
+	these fields from this class, combining them into a new struct
+	and moving the fields to the interprocedural event subclasses
+	where they make sense.
+	(cfg_edge_event::get_cfg_superedge): Delete.
+	(cfg_edge_event::get_cfg_edge): Add.
+	(cfg_edge_event::cfg_edge_event): Update for changes to location
+	handling in base class ctor.  Add "op".
+	(cfg_edge_event::m_op): New field.
+	(start_cfg_edge_event::start_cfg_edge_event): Update for changes
+	to base class ctor.
+	(start_cfg_edge_event::maybe_describe_condition): Drop.
+	(end_cfg_edge_event::end_cfg_edge_event): Update for changes to
+	base class ctor.
+	(catch_cfg_edge_event::catch_cfg_edge_event): Likewise.
+	(struct critical_state): New struct.
+	(call_event::record_critical_state): New decl.
+	(call_event::m_critical_state): New field.
+	(class return_event): Inherit from checker_event, rather than
+	superedge_event.
+	(return_event::get_call_and_return_op): New.
+	(return_event::record_critical_state): New.
+	(return_event::m_call_and_return_op): New field.
+	(return_event::m_critical_state): New field.
+	* common.h: Define INCLUDE_SET.
+	(class cfg_superedge): Drop forward decl.
+	(class switch_cfg_superedge): Likewise.
+	(class eh_dispatch_cfg_superedge): Likewise.
+	(class eh_dispatch_try_cfg_superedge): Likewise.
+	(class eh_dispatch_allowed_cfg_superedge): Likewise.
+	(class callgraph_superedge): Likewise.
+	(class call_superedge): Likewise.
+	(class return_superedge): Likewise.
+	(class stmt_finder): Likewise.
+	(class function_point): Likewise.
+	(class feasibility_state): New forward decl.
+	(class uncertainty_t): Likewise.
+	(useful_location_p): New.
+	(known_function::check_any_preconditions): New.
+	(custom_edge_info::get_dot_attrs): New decl.
+	(custom_edge_info::add_events_to_path): Add param
+	"pending_diagnostic &pd".
+	(is_cxa_end_catch_p): New decl.
+	* constraint-manager.cc
+	(bounded_ranges_manager::get_or_create_ranges_for_switch): Delete.
+	(bounded_ranges_manager::create_ranges_for_switch): Delete.
+	* constraint-manager.h
+	(bounded_ranges_manager::get_or_create_ranges_for_switch): Delete
+	decl.
+	(bounded_ranges_manager::create_ranges_for_switch): Likewise.
+	(bounded_ranges_manager::make_case_label_ranges): Make public for
+	use by ops code.
+	(bounded_ranges_manager::edge_cache_t): Delete.
+	(bounded_ranges_manager::m_edge_cache): Delete.
+	* diagnostic-manager.cc (pending_location::pending_location): New
+	ctor implementations.
+	(pending_location::to_json): New.
+	(epath_finder::get_best_epath): Rename param to "target_enode".
+	Drop param "target_stmt".  Update for renaming of
+	supernode::m_index to m_id.
+	(epath_finder::explore_feasible_paths): Drop param "target_stmt".
+	(process_worklist_item): Likewise.
+	(saved_diagnostic::saved_diagnostic): Pass in param "ploc" by
+	rvalue reference and store it in m_ploc.  Drop m_stmt_finder and
+	other fields made redundant by m_ploc.
+	(saved_diagnostic::get_supernode): New.
+	(saved_diagnostic::operator==): Update for changes to
+	location-tracking.
+	(saved_diagnostic::to_json): Update.
+	(saved_diagnostic::dump_as_dot_node): Drop m_stmt.
+	(saved_diagnostic::calc_best_epath): Update for change to
+	location-tracking.
+	(saved_diagnostic::supercedes_p): Likewise.
+	(saved_diagnostic::maybe_add_sarif_properties): Likewise.
+	(get_emission_location): Delete.
+	(diagnostic_manager::add_diagnostic): Pass "ploc" by rvalue
+	reference, moving it to the saved_diagnostic.  Update early
+	rejection check, and call fixup_location before-hand.
+	(class dedupe_key): Drop m_stmt field, and update for changes
+	to saved_diagnostic.
+	(dedupe_winners::add): Call get_best_epath here, and call
+	fixer_for_epath on it.
+	(diagnostic_manager::emit_saved_diagnostics): Update for
+	changes to saved_diagnostic and supernode.
+	(diagnostic_manager::emit_saved_diagnostic): Likewise.
+	Use the pending_location from the saved_diagnostic for the
+	location of the final event, and for the primary location of the
+	diagnostic itself.
+	(diagnostic_manager::build_emission_path): Use useful_location_p.
+	(state_change_event_creator::on_global_state_change): Update for
+	changes to location-tracking.
+	(state_change_event_creator::on_state_change): Likewise.
+	(struct null_assignment_sm_context): Reimplement within ops.cc.
+	(diagnostic_manager::add_events_for_eedge): Reimplement.
+	(diagnostic_manager::add_events_for_superedge): Delete in favor of
+	control_flow_op::add_any_events_for_eedge.
+	(diagnostic_manager::prune_for_sm_diagnostic): Update call/return
+	for event_kind renamings, and to use call_and_return_op rathern
+	than callgraph_superedge.
+	(diagnostic_manager::consolidate_conditions): Port from
+	cfg_superedge to get_cfg_edge.
+	* diagnostic-manager.h: Include "analyzer/supergraph.h" and
+	"analyzer/event-loc-info.h".
+	(struct pending_location): Move decl earlier in file.  Replace
+	the existing specified ctors with 3 new ones.  Add comments.
+	(class pending_location::fixer_for_epath): New.
+	(pending_location::get_location): New.
+	(pending_location::to_json): New decl.
+	(pending_location::m_snode): Drop redundant field.
+	(pending_location::m_event_loc_info): New field, replacing m_stmt
+	and m_loc.
+	(pending_location::m_finder): Replace with...
+	(pending_location::m_fixer_for_epath): ...this new field.
+	(make_ploc_fixer_for_epath_for_leak_diagnostic): New decl.
+	(saved_diagnostic::saved_diagnostic): Pass in param "ploc" by
+	rvalue reference and store it in m_ploc.
+	(saved_diagnostic::get_supernode): New.
+	(saved_diagnostic::m_ploc): New field, replacing m_enode,
+	m_snode, m_stmt, m_stmt_finder, and m_loc.
+	(diagnostic_manager::add_diagnostic): Pass ploc as rvalue
+	reference.
+	(diagnostic_manager::add_events_for_superedge): Delete decl.
+	* engine.cc: Include "gimple-predict.h" and
+	"analyzer/impl-sm-context.h".
+	(impl_region_model_context::impl_region_model_context): Drop
+	stmt_finder.
+	(impl_region_model_context::warn): Convert to...
+	(impl_region_model_context::warn_at): ...this.
+	(class impl_sm_context): Move to impl-sm-context.h.
+	(impl_region_model_context::get_state_map_by_name): Drop
+	m_stmt_finder.
+	(class leak_stmt_finder): Reimplement as...
+	(class leak_ploc_fixer_for_epath): ...this.
+	(make_ploc_fixer_for_epath_for_leak_diagnostic): New.
+	(returning_from_function_p): Update for supergraph changes.
+	(impl_region_model_context::on_state_leak): Port from
+	leak_stmt_finder to leak_ploc_fixer_for_epath.
+	(impl_region_model_context::on_condition): Update for
+	location-handling changes.
+	(impl_region_model_context::on_bounded_ranges): Likewise.
+	(impl_region_model_context::on_phi): Likewise.
+	(impl_region_model_context::get_pending_location_for_diag): New.
+	(exploded_node::status_to_str): Add status::special.
+	(exploded_node::get_processed_stmt): Delete.
+	(exploded_node::dump_dot): Elide state if we have a single
+	predecessor  and the state hasn't changed.
+	(exploded_node::dump_processed_stmts): Delete.
+	(exploded_node::on_stmt): Delete, reimplementing in ops.cc as
+	gimple_stmt_op::execute_on_state, call_and_return_op::execute, and
+	operation::handle_on_stmt_for_state_machines.
+	(exploded_node::on_stmt_pre): Delete, reimplementing in ops.cc as
+	call_and_return_op::make.
+	(exploded_node::on_stmt_post): Delete.
+	(class call_summary_edge_info): Move to ops.cc.
+	(exploded_node::replay_call_summaries): Delete.
+	(exploded_node::replay_call_summary): Delete.
+	(exploded_node::on_edge): Delete.
+	(exploded_node::on_longjmp): Eliminate ambiguous "setjmp_point"
+	and "next_point" in favor of "point_before_setjmp" and
+	"point_after_setjmp".
+	(exploded_graph::unwind_from_exception): Update for changes to
+	program_point.
+	(exploded_node::on_throw): Convert "after_throw_point" to a param.
+	(exploded_node::on_resx): Delete.
+	(exploded_node::detect_leaks): Update for renaming of
+	supernode::return_p to supernode::exit_p, and drop stmt param of
+	impl_region_model_context ctor.
+	(dynamic_call_info_t::update_model): Delete.
+	(dynamic_call_info_t::add_events_to_path): Delete.
+	(interprocedural_call::print): New.
+	(interprocedural_call::get_dot_attrs): New.
+	(interprocedural_call::update_state): New.
+	(interprocedural_call::update_model): New.
+	(interprocedural_call::add_events_to_path): New.
+	(interprocedural_return::print): New.
+	(interprocedural_return::get_dot_attrs): New.
+	(interprocedural_return::update_state): New.
+	(interprocedural_return::update_model): New.
+	(interprocedural_return::add_events_to_path): New.
+	(rewind_info_t::add_events_to_path): Add pending_diagnostic &
+	param.
+	(exploded_edge::dump_dot_label): Drop superedge kinds.  Show
+	op vs no-op.  Flush before printing any superedge label, and
+	escape that label.
+	(exploded_edge::maybe_get_stmt): New.
+	(exploded_edge::maybe_get_op): New.
+	(stats::stats): Update for change to m_num_nodes;
+	(stats::log): Likewise.
+	(stats::dump): Likewise.
+	(stats::get_total_enodes): Likewise.
+	(strongly_connected_components::strongly_connected_components):
+	Update for changes to supergraph.
+	(strongly_connected_components::dump): Show the stack.  Update for
+	changes to supernode.
+	(strongly_connected_components::to_json): Update for changes to
+	supergraph.
+	(strongly_connected_components::strong_connect): Rename "index" to
+	"id".  Drop superedge kinds.
+	(worklist::key_t::cmp): Compare BB indexes before snode ids.
+	Drop function_point.
+	(exploded_graph::exploded_graph): Update stats initialization.
+	(tainted_args_function_info::update_model): Reimplement.
+	(tainted_args_function_info::add_events_to_path): Add param.
+	(exploded_graph::get_or_create_node): Check for recursion limit
+	here, rather than in program_point::on_edge and
+	exploded_graph::maybe_create_dynamic_call.  Only merge state
+	for points with state_merge_at_p.  Update stats tracking for
+	changes to supergraph.  Fix wording of log of state.
+	(exploded_graph::get_or_create_per_call_string_data): Update for
+	supergraph changes.
+	(tainted_args_call_info::update_model): Reimplement.
+	(tainted_args_call_info::add_events_to_path): Add param.
+	(exploded_graph::process_worklist): Drop assertions that nodes
+	have no successors, due to some cases during unwinding exceptions.
+	Update call to maybe_process_run_of_before_supernode_enodes to
+	call to maybe_process_run_of_enodes, and only at points for
+	which state_merge_at_p.  Reimplement "too complex" check.
+	(exploded_graph::maybe_process_run_of_before_supernode_enodes):
+	Convert to...
+	(exploded_graph::maybe_process_run_of_enodes): ...this.  Only
+	consider nodes with a single successor in the supergraph and for
+	which that superedge supports_bulk_merge_p.  Port state updates to
+	using operation::update_state_for_bulk_merger.
+	(stmt_requires_new_enode_p): Delete.
+	(state_change_requires_new_enode_p): Delete.
+	(exploded_graph::maybe_create_dynamic_call): Delete.
+	(class impl_path_context): Reimplement in ops.cc.
+	(class jump_through_null): Move to region-model.cc.
+	(exploded_graph::process_node): Use location_t from supernode,
+	rather than trying to have a stmt associated with a supernode.
+	Drop switch on program_point kind, instead using the operation, if any,
+	from the superedge.
+	(exploded_graph::get_or_create_function_stats): Update computation
+	of num_supernodes for the function.
+	(exploded_graph::print_bar_charts): Update for supergraph changes.
+	(exploded_graph::dump_stats): Likewise.
+	(exploded_graph::dump_states_for_supernode): Delete.
+	(exploded_graph::to_json): Update comment.
+	(exploded_path::find_stmt_backwards): Update for supergraph
+	reimplementation.
+	(exploded_path::feasible_p): Drop "last_stmt".
+	(feasibility_state::maybe_update_for_edge): Move most of
+	implementation to ops and custom_edge_infos.
+	(feasibility_state::update_for_stmt): Delete.
+	(supernode_cluster::dump_dot): Update for supernode changes.
+	(supernode_cluster::cmp_ptr_ptr): Likewise.
+	(exploded_graph::dump_exploded_nodes): Update for
+	location-handling changes, and for changes to supergraph
+	representation.
+	(class viz_callgraph_node): Delete
+	(class viz_callgraph_edge): Delete.
+	(class viz_callgraph): Delete.
+	(class viz_callgraph_cluster): Delete.
+	(struct viz_callgraph_traits): Delete.
+	(dump_callgraph): Delete.
+	(exploded_graph_annotator::exploded_graph_annotator): Update for
+	supernode::m_index becoming supernode:m_id.
+	(exploded_graph_annotator::add_node_annotations): Reimplement to
+	show enodes within the node for the supernode.
+	(exploded_graph_annotator::print_enode_port): New.
+	(exploded_graph_annotator::print_enode): Add port.
+	(exploded_graph_annotator::print_saved_diagnostic): Drop stmt.
+	(exploded_graph_annotator::m_enodes_per_snodes): Convert to...
+	(exploded_graph_annotator::m_enodes_per_snode_id): ...this, using
+	std::vector.
+	(maybe_dump_supergraph): New.
+	(impl_run_checkers): Create region_model_manager before supergraph
+	and pass it to supergraph ctor.  Dump the original form of the
+	supergraph, then call fixup_locations, simplify, and sort_nodes on
+	the supergraph, dumping it at each stage.  Drop dump_callgraph.
+	Replace dump to "NAME.supergraph-eg.dot" with dump to
+	"NAME.supergraph.N.eg.dot".
+	* event-loc-info.h (event_loc_info::event_loc_info): Add ctors taking
+	const exploded_node * and const program_point &.
+	* exploded-graph.h: Add include of "analyzer/region-model.h".
+	(impl_region_model_context::impl_region_model_context): Add default
+	for "stmt" param. Drop "stmt_finder" param.
+	(impl_region_model_context::warn): Convert to...
+	(impl_region_model_context::warn_at): ...this.
+	(impl_region_model_context::get_pending_location_for_diag): New.
+	(impl_region_model_context::m_stmt_finder): Drop.
+	(struct exploded_node::on_stmt_flags): Drop.
+	(exploded_node::on_stmt): Drop.
+	(exploded_node::on_stmt_pre): Drop.
+	(exploded_node::on_stmt_post): Drop.
+	(exploded_node::replay_call_summaries): Drop.
+	(exploded_node::replay_call_summary): Drop.
+	(exploded_node::on_edge): Drop.
+	(exploded_node::on_throw): Add "after_throw_point" param.
+	(exploded_node::on_resx): Drop.
+	(exploded_node::get_location): New.
+	(exploded_node::get_stmt): Drop.
+	(exploded_node::get_processed_stmt): Drop.
+	(exploded_node::maybe_get_stmt): New decl.
+	(exploded_node::maybe_get_op): New decl.
+	(class dynamic_call_info_t): Delete.
+	(class interprocedural_call): New.
+	(class interprocedural_return): New.
+	(rewind_info_t::add_events_to_path): Add pending_diagnostic &
+	param.
+	(rewind_info_t::get_setjmp_point): Replace with...
+	(rewind_info_t::get_point_before_setjmp): ...this...
+	(rewind_info_t::get_point_after_setjmp): ...and this.
+	(stats::m_num_nodes): Convert from an array to a plain int.
+	(class strongly_connected_components): Convert from index to id
+	throughout.
+	(exploded_graph::maybe_process_run_of_before_supernode_enodes):
+	Replace with...
+	(exploded_graph::maybe_process_run_of_enodes): ...this.
+	(exploded_graph::maybe_create_dynamic_call): Delete.
+	(exploded_graph::save_diagnostic): Drop stmt_finder param.
+	(exploded_graph::dump_states_for_supernode): Drop.
+	(exploded_graph::m_PK_AFTER_SUPERNODE_per_snode): Drop.
+	(class feasibility_problem): Drop "m_last_stmt".
+	(feasibility_state::update_for_stmt): Drop.
+	(feasibility_state::get_model): Add non-const accessor.
+	(feasibility_state::get_snodes_visited): New accessor.
+	(class stmt_finder): Drop.
+	* feasible-graph.cc (feasible_node::dump_dot): Drop call to
+	dump_processed_stmts.
+	(feasible_node::get_state_at_stmt): Drop.
+	* impl-sm-context.h: New file, adapted from material in engine.cc.
+	* infinite-loop.cc
+	(perpetual_start_cfg_edge_event::perpetual_start_cfg_edge_event):
+	Add "op" param.
+	(perpetual_start_cfg_edge_event::print_desc): Use m_op to describe
+	condition.
+	(looping_back_event::looping_back_event): Add "op" param.
+	(infinite_loop_diagnostic::maybe_add_custom_events_for_superedge):
+	Convert to...
+	(infinite_loop_diagnostic::maybe_add_custom_events_for_eedge):
+	...this.
+	(infinite_loop_diagnostic::add_final_event): Port from
+	cfg_superedge to get_any_cfg_edge and operations.  Update for
+	location-handling changes.
+	(get_in_edge_back_edge): Port from cfg_superedge to
+	get_any_cfg_edge.
+	(starts_infinite_loop_p): Update for location-handling changes.
+	(exploded_graph::detect_infinite_loops): Remove redundant params.
+	* infinite-recursion.cc
+	(infinite_recursion_diagnostic::add_final_event): Update for
+	location-handling changes.
+	(infinite_recursion_diagnostic::check_valid_fpath_p): Drop gimple
+	param.
+	(infinite_recursion_diagnostic::fedge_uses_conjured_svalue_p):
+	Port from cfg_superedge to operations.
+	(is_entrypoint_p): Update for supergraph changes.
+	(exploded_graph::detect_infinite_recursion): Update for
+	location-handling changes.
+	* kf-lang-cp.cc (kf_operator_new::impl_call_pre): Split out
+	code to handle placement-new into...
+	(kf_operator_new::check_any_preconditions): ...this...
+	(kf_operator_new::get_sized_region_for_placement_new): ...and
+	this.
+	* ops.cc: New file, albeit with material adatpted from old
+	implementation.
+	* ops.h: Likewise.
+	* pending-diagnostic.cc (pending_diagnostic::add_call_event): Add
+	gcall param.  Update for changes to location-handling.
+	* pending-diagnostic.h
+	(pending_diagnostic::maybe_add_custom_events_for_superedge):
+	Convert to...
+	(pending_diagnostic::maybe_add_custom_events_for_eedge): ...this.
+	(pending_diagnostic::add_call_event): Add "call_stmt" param.
+	(pending_diagnostic::check_valid_fpath_p): Drop stmt param.
+	* program-point.cc (point_kind_to_string): Delete.
+	(function_point::function_point): Delete.
+	(function_point::print): Delete.
+	(function_point::hash): Delete.
+	(function_point::get_function): Delete.
+	(function_point::get_stmt): Delete.
+	(function_point::get_location): Delete.
+	(function_point::final_stmt_p): Delete.
+	(function_point::from_function_entry): Delete.
+	(function_point::before_supernode): Delete.
+	(function_point::print_source_line): Convert to...
+	(program_point::print_source_line): ...this.
+	(program_point::print): Reimplement.
+	(program_point::to_json): Likewise.
+	(program_point::push_to_call_stack): Delete.
+	(program_point::hash): Reimplement.
+	(program_point::get_function_at_depth): Likewise.
+	(program_point::on_edge): Delete.
+	(function_point::cmp_within_supernode_1): Delete.
+	(function_point::cmp_within_supernode): Delete.
+	(function_point::cmp): Delete.
+	(function_point::cmp_ptr): Delete.
+	(function_point::next_stmt): Delete.
+	(function_point::get_next): Delete.
+	(program_point::origin): Update.
+	(program_point::from_function_entry): Update.
+	(program_point::get_next): Delete.
+	(selftest::test_function_point_equality): Delete.
+	(selftest::test_function_point_ordering): Delete.
+	(selftest::test_program_point_equality): Update for changes to
+	program_point.
+	(selftest::analyzer_program_point_cc_tests): Don't call deleted
+	function_point tests.
+	* program-point.h: Include "analyzer/supergraph.h".
+	(class exploded_graph): Drop forward decl.
+	(enum point_kind): Drop.
+	(point_kind_to_string): Drop decl.
+	(class function_point): Delete.
+	(program_point::program_point): Take a const supernode *
+	rather than a const function_point &.
+	(program_point::print_source_line): New decl.
+	(program_point::operator==): Update.
+	(program_point::get_function_point): Drop.
+	(program_point::get_supernode): Reimplement.
+	(program_point::get_function): Reimplement.
+	(program_point::get_fndecl): Reimplement.
+	(program_point::get_stmt): Drop.
+	(program_point::get_location): Reimplement.
+	(program_point::get_kind): Drop.
+	(program_point::get_from_edge): Drop.
+	(program_point::get_stmt_idx): Drop.
+	(program_point::get_stack_depth): Update.
+	(program_point::state_merge_at_p): New.
+	(program_point::before_supernode): Drop.
+	(program_point::before_stmt): Drop.
+	(program_point::after_supernode): Drop.
+	(program_point::empty): Drop.
+	(program_point::deleted): Drop.
+	(program_point::on_edge): Drop.
+	(program_point::push_to_call_stack): Drop.
+	(program_point::next_stmt): Drop.
+	(program_point::get_next): Drop.
+	(program_point::m_function_point): Replace with...
+	(program_point::m_snode): ...this.
+	* program-state.cc (program_state::on_edge): Delete.
+	(program_state::push_call): Delete.
+	(program_state::returning_call): Delete.
+	(program_state::prune_for_point): Port from function_point to
+	supernode.  Drop stmt param to impl_region_model_context ctor.
+	(selftest::test_sm_state_map): Update for engine borrowing rather
+	owning the region_model_manager.
+	(selftest::test_program_state_1): Likewise.
+	(selftest::test_program_state_2): Likewise.
+	(selftest::test_program_state_merging): Likewise.
+	(selftest::test_program_state_merging_2): Likewise.
+	* program-state.h (program_state::push_call): Delete decl.
+	(program_state::returning_call): Delete decl.
+	(program_state::on_edge): Delete decl.
+	* region-model-manager.cc (region_model_manager::maybe_fold_unaryop):
+	Only fold constants if we have a type.
+	(region_model_manager::get_or_create_widening_svalue): Port from
+	function_point to supernode.
+	* region-model-manager.h
+	(region_model_manager::get_or_create_widening_svalue): Likewise.
+	* region-model.cc
+	(poisoned_value_diagnostic::check_valid_fpath_p): Drop code for
+	handling function_points within an snode.
+	(exception_thrown_from_unrecognized_call::add_events_to_path): Add
+	pending_diagnostic param.
+	(class jump_through_null): Move here from engine.cc.
+	(region_model::on_call_pre): Check for jump through null here,
+	rather than in exploded_graph::process_node.
+	(region_model::on_setjmp): Add superedge param and pass it to
+	setjmp_record ctor.
+	(region_model::handle_phi): Delete, in favor of
+	phis_for_edge_op::update_state in ops.cc.
+	(region_model::update_for_phis): Likewise.
+	(region_model::maybe_update_for_edge): Delete.
+	(region_model::update_for_call_superedge): Delete.
+	(region_model::update_for_return_superedge): Delete.
+	(region_model::apply_constraints_for_gcond): Reimplement in ops.cc as
+	gcond_edge_op::apply_constraints.
+	(has_nondefault_case_for_value_p): Move to ops.cc.
+	(has_nondefault_cases_for_all_enum_values_p): Move to ops.cc
+	(region_model::apply_constraints_for_gswitch): Reimplement in
+	ops.cc as switch_case_op::apply_constraints.
+	(class rejected_eh_dispatch): Move to ops.cc.
+	(exception_matches_type_p): Move to ops.cc.
+	(matches_any_exception_type_p): Move to ops.cc.
+	(region_model::apply_constraints_for_eh_dispatch): Reimplement in
+	ops.cc as eh_dispatch_edge_op::apply_constraints.
+	(region_model::apply_constraints_for_eh_dispatch_try): Reimplement
+	in ops.cc as eh_dispatch_try_edge_op::apply_eh_constraints.
+	(region_model::apply_constraints_for_eh_dispatch_allowed):
+	Reimplement in ops.cc as
+	eh_dispatch_allowed_edge_op::apply_eh_constraints.
+	(region_model::apply_constraints_for_ggoto): Reimplement in ops.cc
+	as ggoto_edge_op::apply_constraints.
+	(caller_context::warn): Replace with...
+	(caller_context::get_pending_location_for_diag): ...this.
+	(region_model::get_or_create_region_for_heap_alloc): Fix
+	indentation.
+	(region_model_context::warn): New, replacing vfunc with
+	shared code that calls get_pending_location_for_diag and warn_at
+	vfuncs.
+	(engine::engine): Borrow m_mgr rather than own it.
+	(seldtest::test_state_merging): Update test for ptrs to different
+	base regions becoming unmergeable.
+	(selftest::test_widening_constraints): Port from function_point to
+	supernode.
+	* region-model.h: Include "analyzer/diagnostic-manager.h".
+	(region_model::on_setjmp): Add superedge param.
+	(region_model::void update_for_phis): Drop decl.
+	(region_model::handle_phi): Drop decl.
+	(region_model::maybe_update_for_edge): Drop decl.
+	(region_model::apply_constraints_for_eh_dispatch_try): Drop decl.
+	(region_model::apply_constraints_for_eh_dispatch_allowed): Drop
+	decl.
+	(region_model::update_for_call_superedge): Drop decl.
+	(region_model::update_for_return_superedge): Drop decl.
+	(region_model::apply_constraints_for_gcond): Drop decl.
+	(region_model::apply_constraints_for_gswitch): Drop decl.
+	(region_model::apply_constraints_for_ggoto): Drop decl.
+	(region_model::apply_constraints_for_eh_dispatch): Drop decl.
+	(region_model_context::warn): Convert from vfunc to func.
+	(region_model_context::get_pending_location_for_diag): New vfunc.
+	(region_model_context::warn_at): New vfunc.
+	(class noop_region_model_context): Update for changes to
+	region_model_context.
+	(class region_model_context_decorator): Likewise.
+	(class annotating_context): Likewise.
+	(struct model_merger): Port from function_point to supernode.
+	(class engine): Borrow m_mgr rather than own it.
+	(class test_region_model_context): Update for changes to
+	region_model_context.
+	* region.cc (frame_region::get_region_for_local): Update for
+	change to supergraph.
+	* sm-fd.cc: Drop redundant params throughout.  Pass stmt
+	rather than node to the various on_ calls.
+	* sm-file.cc: Drop redundant params throughout.
+	(register_known_file_functions): Register "*_unlocked" versions of
+	functions that I'd missed.
+	* sm-malloc.cc: Drop redundant params throughout.
+	(deref_before_check::loop_header_p): Reimplement cfg_superedge
+	check.
+	(malloc_state_machine::on_stmt): Move attribute-handling to...
+	(malloc_state_machine::check_call_preconditions): ...this new
+	function.
+	(maybe_complain_about_deref_before_check): Use
+	sm_ctxt.get_emission_location when checking for inlining.
+	* sm-pattern-test.cc: Drop redundant params throughout.
+	* sm-sensitive.cc: Likewise.
+	* sm-signal.cc: Likewise.
+	* sm-taint.cc: Likewise.
+	* sm.cc: Fix unused param warnings.
+	* sm.h: Include "analyzer/analyzer-logging.h".  Drop redundant
+	params throughout.
+	(state_machine::check_call_preconditions): New vfunc.
+	(sm_context::get_state): Drop "stmt" args.
+	(sm_context::set_next_state): Likewise.
+	(sm_context::on_transition): Drop "stmt" and "node" args.
+	(sm_context::warn): Likewise.
+	(sm_context::get_emission_location): New vfunc.
+	* state-purge.cc: Define INCLUDE_SET.
+	(class gimple_op_visitor): Replace function_point and function
+	with superedge.
+	(state_purge_map::state_purge_map): Iterate through ops on edges,
+	rather than on stmts in supernodes.
+	(state_purge_map::on_duplicated_node): New.
+	(state_purge_map::get_or_create_data_for_decl): Use supernode
+	rather than function_point.
+	(state_purge_per_ssa_name::state_purge_per_ssa_name): Likewise.
+	(state_purge_per_ssa_name::needed_at_point_p): Replace with...
+	(state_purge_per_ssa_name::needed_at_supernode_p): ...this.
+	(state_purge_per_ssa_name::before_use_stmt): Delete.
+	(state_purge_per_ssa_name::add_to_worklist): Use supernode rather
+	than function_point.
+	(name_used_by_phis_p): Delete.
+	(state_purge_per_ssa_name::process_point): Replace with...
+	(state_purge_per_ssa_name::process_supernode): ...this.
+	(state_purge_per_ssa_name::on_duplicated_node): New.
+	(state_purge_per_decl::state_purge_per_decl): Use supernode rather
+	than function_point.
+	(state_purge_per_decl::add_needed_at): Likewise.
+	(state_purge_per_decl::add_pointed_to_at): Likewise.
+	(state_purge_per_decl::process_worklists): Likewise.
+	(state_purge_per_decl::add_to_worklist): Likewise.
+	(state_purge_per_decl::process_point_backwards): Replace with...
+	(state_purge_per_decl::process_supernode_backwards): ...this.
+	(state_purge_per_decl::process_point_forwards): Replace with...
+	(state_purge_per_decl::process_supernode_forwards): ...this.
+	(state_purge_per_decl::needed_at_point_p): Replace with...
+	(state_purge_per_decl::needed_at_supernode_p): ...this.
+	(state_purge_per_decl::on_duplicated_node): New.
+	(print_vec_of_names): Drop "within_table" param.
+	(state_purge_annotator::add_stmt_annotations): Drop.
+	(state_purge_annotator::add_node_annotations): Reimplement.
+	* state-purge.h: Convert throughout from function_point to
+	supernode.
+	(state_purge_map::on_duplicated_node): New decl.
+	(state_purge_per_ssa_name::on_duplicated_node): Likewise.
+	(state_purge_per_decl::on_duplicated_node): Likewise.
+	* store.cc (needs_loop_replay_fixup_p): New.
+	(store::loop_replay_fixup): Use it rather than checking for
+	SK_WIDENING.
+	* supergraph-fixup-locations.cc: New file.
+	* supergraph-manipulation.h: New file.
+	* supergraph-simplify.cc: New file.
+	* supergraph-sorting.cc: New file.
+	* supergraph.cc: Define INCLUDE_DEQUE.  Drop include of
+	"tree-dfa.h".  Include "diagnostics/file-cache.h"
+	and "analyzer/exploded-graph.h".
+	(supergraph_call_edge): Delete.
+	(control_flow_stmt_p): New.
+	(supergraph::supergraph): Add "mgr" param.  Initialize
+	m_next_snode_id.  Reimplement.
+	(supergraph::populate_for_basic_block): New.
+	(supergraph::dump_dot_to_pp): Add auto_cfun sentinel.
+	Split up nodes using loop information from the original CFG,
+	then by basic block.  Call the node_annotator's
+	add_extra_objects vfunc.
+	(supergraph::dump_dot_to_gv_for_loop): New.
+	(supergraph::dump_dot_to_gv_for_bb): New, based on code in
+	dump_dot_to_pp.
+	(supergraph::add_node): Drop "returning_call" and "phi_nodes"
+	params. Add logger param and logging.  Use m_next_snode_id to
+	allow for node deletion.
+	(supergraph::add_cfg_edge): Delete.
+	(supergraph::add_call_superedge): Delete.
+	(supergraph::add_return_superedge): Delete.
+	(supergraph::delete_nodes): New.
+	(supergraph::add_sedges_for_cfg_edge): New.
+	(supernode::dump_dot): Drop output cluster, moving
+	add_node_annotations to within the dot node.  Show any SCC id.
+	Show m_preserve_p and m_state_merger_node.  Update for renaming of
+	supernode::return_p to supernode::exit_p.  Highlight nodes without
+	source location information.  Show m_loc and m_stmt_loc.  Show
+	source lines, with color for highlight.
+	(supernode::dump_dot_id): Update.
+	(supernode::to_json): Update.
+	(supernode::get_start_location): Delete.
+	(supernode::get_end_location): Delete.
+	(supernode::get_stmt_index): Delete.
+	(supernode::get_label): Delete.
+	(edge_kind_to_string): Delete.
+	(superedge::dump): Update for supernode::m_index becoming m_id.
+	(superedge::dump_dot): Drop ltail/lhead attrs.  Flush after
+	dumping the label.
+	(superedge::to_json): Reimplement.
+	(superedge::get_any_cfg_edge): Delete.
+	(superedge::get_any_callgraph_edge): Delete.
+	(superedge::preserve_p): New.
+	(superedge::supports_bulk_merge_p): New.
+	(cfg_superedge::dump_label_to_pp): Delete.
+	(superedge::dump_label_to_pp): New.
+	(cfg_superedge::get_phi_arg_idx): Delete.
+	(cfg_superedge::get_phi_arg): Delete.
+	(switch_cfg_superedge::switch_cfg_superedge): Delete.
+	(switch_cfg_superedge::dump_label_to_pp): Delete.
+	(switch_cfg_superedge::implicitly_created_default_p): Delete.
+	(get_catch): Move to ops.cc.
+	(eh_dispatch_cfg_superedge::make): Delete in favor of
+	eh_dispatch_edge_op::make.
+	(eh_dispatch_cfg_superedge::eh_dispatch_cfg_superedge): Delete.
+	(eh_dispatch_cfg_superedge::get_eh_status): Delete.
+	(eh_dispatch_try_cfg_superedge::dump_label_to_pp): Delete.
+	(eh_dispatch_try_cfg_superedge::apply_constraints): Delete.
+	(eh_dispatch_allowed_cfg_superedge::eh_dispatch_allowed_cfg_superedge):
+	Delete.
+	(eh_dispatch_allowed_cfg_superedge::dump_label_to_pp): Delete.
+	(eh_dispatch_allowed_cfg_superedge::apply_constraints): Delete.
+	(callgraph_superedge::dump_label_to_pp): Delete.
+	(callgraph_superedge::get_callee_function): Delete.
+	(callgraph_superedge::get_caller_function): Delete
+	(callgraph_superedge::get_callee_decl): Delete
+	(callgraph_superedge::get_call_stmt): Delete
+	(callgraph_superedge::get_caller_decl): Delete
+	(callgraph_superedge::get_arg_for_parm): Delete in favor of
+	call_and_return_op::get_arg_for_parm in ops.cc.
+	(callgraph_superedge::get_parm_for_arg): Delete in favor of
+	call_and_return_op::get_parm_for_arg in ops.cc.
+	(callgraph_superedge::map_expr_from_caller_to_callee): Delete in
+	favor of call_and_return_op::map_expr_from_caller_to_callee in
+	ops.cc.
+	(callgraph_superedge::map_expr_from_callee_to_caller): Delete in
+	favor of call_and_return_op::map_expr_from_callee_to_caller in
+	ops.cc.
+	* supergraph.h: Include "cfgloop.h" and "analyzer/ops.h".
+	(enum edge_kind): Delete.
+	(struct supergraph_traits::dump_args_t): Add m_eg.
+	(class supergraph): Rewrite leading comment.
+	(supergraph::supergraph): Add "mgr" param.
+	(supergraph::get_node_for_function_entry): Reimplement.
+	(supergraph::get_node_for_function_exit): Reimplement.
+	(supergraph::get_node_for_block): Convert to...
+	(supergraph::get_initial_node_for_block): ...this.
+	(supergraph::get_caller_next_node): Delete.
+	(supergraph::get_edge_for_call): Delete.
+	(supergraph::get_edge_for_return): Delete.
+	(supergraph::get_intraprocedural_edge_for_call): Delete.
+	(supergraph::get_edge_for_cfg_edge): Delete.
+	(supergraph::get_supernode_for_stmt): Delete.
+	(supergraph::get_final_node_for_block): New.
+	(supergraph::get_supernode_for_stmt): New.
+	(supergraph::get_superedge_for_phis): New.
+	(supergraph::get_node_by_index): Delete.
+	(supergraph::add_node): Drop "returning_call" and "phi_nodes"
+	params.  Add logger param.
+	(supergraph::add_cfg_edge): Delete.
+	(supergraph::add_call_superedge): Delete.
+	(supergraph::add_return_superedge): Delete.
+	(supergraph::log_stats): New decl.
+	(supergraph::delete_nodes): New decl.
+	(supergraph::fixup_locations): New decl.
+	(supergraph::simplify): New decl.
+	(supergraph::sort_nodes): New decl.
+	(supergraph::populate_for_basic_block): New decl.
+	(supergraph::add_sedges_for_cfg_edge): New decl.
+	(supergraph::dump_dot_to_gv_for_loop): New decl.
+	(supergraph::dump_dot_to_gv_for_bb): New decl.
+	(supergraph::reorder_nodes_and_ids): New decl.
+	(supergraph::bb_to_node_t): Make private.
+	(supergraph::m_bb_to_initial_node): Make private.
+	(supergraph::m_bb_to_final_node): Make private.
+	(supergraph::cgraph_edge_to_node_t): Delete typedef.
+	(supergraph::m_cgraph_edge_to_caller_prev_node): Delete.
+	(supergraph::m_cgraph_edge_to_caller_next_node): Delete.
+	(supergraph::cfg_edge_to_cfg_superedge_t): Delete typedef.
+	(supergraph::m_cfg_edge_to_cfg_superedge): Delete.
+	(supergraph::cgraph_edge_to_call_superedge_t): Delete typedef.
+	(supergraph::m_cgraph_edge_to_call_superedge): Delete
+	(supergraph::cgraph_edge_to_return_superedge_t): Delete typedef.
+	(supergraph::m_cgraph_edge_to_return_superedge): Delete.
+	(supergraph::cgraph_edge_to_intraproc_superedge_t): Delete
+	typedef.
+	(supergraph::m_cgraph_edge_to_intraproc_superedge): Delete.
+	(supergraph::stmt_to_node_t): Delete typedef.
+	(supergraph::m_stmt_to_node_t): Replace with...
+	(supergraph::m_node_for_stmt): ...this.
+	(supergraph::m_edges_for_phis): New field.
+	(supergraph::m_next_snode_id): New field.
+	(supergraph::m_snode_by_id): New field.
+	(supernode::supernode): Drop "returning_call" and "phi_nodes"
+	params.  Convert "index" to "id".  Update for changes to fields.
+	(supernode::return_p): Rename for clarity to...
+	(supernode::exit_p): ...this.
+	(supernode::get_start_location): Delete.
+	(supernode::get_end_location): Delete.
+	(supernode::start_phis): Delete.
+	(supernode::get_returning_call): Delete.
+	(supernode::print): New.
+	(supernode::get_last_stmt): Delete.
+	(supernode::get_final_call): Delete.
+	(supernode::get_stmt_index): Delete.
+	(supernode::get_location): New.
+	(supernode::get_label): Convert to trivial accessor.
+	(supernode::preserve_p): New.
+	(supernode::m_returning_call): Drop field.
+	(supernode::m_phi_nodes): Drop field.
+	(supernode::m_stmts): Drop field.
+	(supernode::m_index): Replace with...
+	(supernode::m_id): ...this.
+	(supernode::m_loc): New field.
+	(supernode::m_stmt_loc): New field.
+	(supernode::m_original_id): New field.
+	(supernode::m_label): New field.
+	(supernode::m_preserve_p): New field.
+	(supernode::m_state_merger_node): New field.
+	(class superedge): Update leading comment.
+	(superedge::superedge): Make public rather than protected.  Drop
+	"kind" param.  Add "op" and "cfg_edge" params.  Assert that edge
+	is intraprocedural.
+	(superedge::m_kind): Drop field.
+	(superedge::m_op): New field.
+	(superedge::m_cfg_edge): New field.
+	(superedge::dump_label_to_pp): Make non-virtual.
+	(superedge::get_op): New.
+	(superedge::set_op): New.
+	(superedge::get_kind): Drop.
+	(superedge::get_dest_snode): New accessor.
+	(superedge::dyn_cast_cfg_superedge): Delete.
+	(superedge::dyn_cast_switch_cfg_superedge): Delete
+	(superedge::dyn_cast_eh_dispatch_cfg_superedge): Delete
+	(superedge::dyn_cast_eh_dispatch_try_cfg_superedge): Delete
+	(superedge::dyn_cast_eh_dispatch_allowed_cfg_superedge): Delete
+	(superedge::dyn_cast_callgraph_superedge): Delete
+	(superedge::dyn_cast_callgraph_superedge): Delete
+	(superedge::dyn_cast_call_superedge): Delete
+	(superedge::dyn_cast_call_superedge): Delete
+	(superedge::dyn_cast_return_superedge): Delete
+	(superedge::dyn_cast_return_superedge): Delete
+	(superedge::get_any_cfg_edge): Convert to trivial accessor.
+	(superedge::get_any_callgraph_edge): Drop.
+	(superedge::preserve_p): New.
+	(superedge::supports_bulk_merge_p): New.
+	(class callgraph_superedge): Drop.
+	(is_a_helper <const callgraph_superedge *>::test): Drop.
+	(class call_superedge): Drop.
+	(is_a_helper <const call_superedge *>::test): Drop.
+	(class return_superedge): Drop.
+	(is_a_helper <const return_superedge *>::test): Drop.
+	(class cfg_superedge): Drop.
+	(class switch_cfg_superedge): Drop.
+	(is_a_helper <const switch_cfg_superedge *>::test): Drop.
+	(class eh_dispatch_cfg_superedge): Drop.
+	(is_a_helper <const eh_dispatch_cfg_superedge *>::test): Drop.
+	(class eh_dispatch_try_cfg_superedge): Drop.
+	(is_a_helper <const eh_dispatch_try_cfg_superedge *>::test): Drop.
+	(class eh_dispatch_allowed_cfg_superedge): Drop.
+	(is_a_helper <const eh_dispatch_allowed_cfg_superedge *>::test):
+	Drop.
+	(dot_annotator::~dot_annotator): Use "= default;".
+	(dot_annotator::add_node_annotations): Drop return value and
+	"within_table" param.
+	(dot_annotator::add_stmt_annotations): Drop.
+	(dot_annotator::add_after_node_annotations): Drop.
+	(dot_annotator::add_extra_objects): New.
+	(supergraph_call_edge): Delete decl.
+	(get_ultimate_function_for_cgraph_edge): Delete decl.
+	* svalue.cc (svalue::can_merge_p): Reject attempts to merge
+	pointers that point to different base regions, except for the case
+	where both are string literals.  Update for point change in
+	widening_svalue.
+	(svalue::cmp_ptr): Update for point change to widening_svalue.
+	(widening_svalue::dump_to_pp): Likewise.
+	(widening_svalue::print_dump_widget_label): Likewise.
+	* svalue.h (struct setjmp_record): Add m_sedge.
+	(class widening_svalue): Replace function_point m_point with
+	const supernode *m_snode throughout.
+	* varargs.cc (va_list_state_machine::on_stmt): Drop redundant
+	param.
+	(va_list_state_machine::on_va_start): Likewise.  Update for change
+	to get_state.
+	(va_list_state_machine::check_for_ended_va_list): Likewise.
+	(va_list_state_machine::on_va_copy): Likewise.
+	(va_list_state_machine::on_va_arg): Likewise.
+	(va_list_state_machine::on_va_end): Likewise.
+	(va_arg_diagnostic::add_call_event): Update for changes to
+	location-tracking.
+
 2025-12-07  David Malcolm  <dmalcolm@redhat.com>
 
 	* kf.cc (register_known_functions): Remove duplicate calls to
diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog
index 9c3230ea5c63..7f3ec24def84 100644
--- a/gcc/c-family/ChangeLog
+++ b/gcc/c-family/ChangeLog
@@ -1,3 +1,11 @@
+2025-12-12  Chung-Lin Tang  <cltang@baylibre.com>
+	    Tobias Burnus  <tburnus@baylibre.com>
+	    Andrew Stubbs  <ams@baylibre.com>
+
+	* c-omp.cc (c_omp_split_clauses): Hande uses_allocators.
+	* c-pragma.h (enum pragma_omp_clause): Add
+	PRAGMA_OMP_CLAUSE_USES_ALLOCATORS.
+
 2025-12-11  supers1ngular  <supers1ngular@baylibre.com>
 
 	* c-cppbuiltin.cc (c_cpp_builtins): Bump _OPENMP version.
diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog
index ff22e2a9b028..3718d7ca0236 100644
--- a/gcc/c/ChangeLog
+++ b/gcc/c/ChangeLog
@@ -1,3 +1,12 @@
+2025-12-12  Chung-Lin Tang  <cltang@baylibre.com>
+	    Tobias Burnus  <tburnus@baylibre.com>
+	    Andrew Stubbs  <ams@baylibre.com>
+
+	* c-parser.cc (c_parser_omp_clause_uses_allocators): New function.
+	(c_parser_omp_clause_name, c_parser_omp_all_clauses,
+	OMP_TARGET_CLAUSE_MASK): Handle uses_allocators.
+	* c-typeck.cc (c_finish_omp_clauses): Likewise.
+
 2025-12-11  Jakub Jelinek  <jakub@redhat.com>
 
 	PR testsuite/123098
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index acf3b4605b46..abcd3dc05888 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,21 @@
+2025-12-12  Nathaniel Shead  <nathanieloshead@gmail.com>
+
+	* method.cc (constructible_expr): Emit diagnostics for abstract
+	types.
+	* typeck2.cc (abstract_virtuals_error): Use more accurate
+	wording for default case, and remove extranneous whitespace
+	in favour of a nesting level.
+
+2025-12-12  Chung-Lin Tang  <cltang@baylibre.com>
+	    Tobias Burnus  <tburnus@baylibre.com>
+	    Andrew Stubbs  <ams@baylibre.com>
+
+	* parser.cc (cp_parser_omp_clause_uses_allocators): New function.
+	(cp_parser_omp_clause_name, cp_parser_omp_all_clauses,
+	OMP_TARGET_CLAUSE_MASK): Handle uses_allocators.
+	* semantics.cc (finish_omp_clauses): Likewise.
+	* pt.cc (tsubst_omp_clauses): Likewise.
+
 2025-12-11  Jakub Jelinek  <jakub@redhat.com>
 
 	PR testsuite/123098
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index e22b2a6b4068..2b37d86835af 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,22 @@
+2025-12-12  Tobias Burnus  <tburnus@baylibre.com>
+
+	* openmp.cc (gfc_match_omp_clause_uses_allocators): Mention
+	new syntax in deprecation warning.
+
+2025-12-12  Tobias Burnus  <tburnus@baylibre.com>
+
+	* intrinsic.texi (OpenMP Modules OMP_LIB and OMP_LIB_KINDS): Link
+	also to OpenMP 6.0, move 'partially supported' to the end of the
+	list of OpenMP versions. Mark 'omp_lock_hint_...' and
+	'omp_atv_sequential' constants as deprecated.
+
+2025-12-12  Chung-Lin Tang  <cltang@baylibre.com>
+	    Tobias Burnus  <tburnus@baylibre.com>
+	    Andrew Stubbs  <ams@baylibre.com>
+
+	* openmp.cc (resolve_omp_clauses): Handle omp_null_allocator.
+	* trans-openmp.cc (gfc_trans_omp_clauses): Mention it in a comment.
+
 2025-12-11  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
 
 	PR fortran/107406
diff --git a/gcc/go/ChangeLog b/gcc/go/ChangeLog
index c270b531e202..85f4279111b7 100644
--- a/gcc/go/ChangeLog
+++ b/gcc/go/ChangeLog
@@ -1,3 +1,7 @@
+2025-12-12  Pietro Monteiro  <pietro@sociotechnical.xyz>
+
+	* lang.opt.urls: Regenerate.
+
 2025-11-30  Andrew Pinski  <andrew.pinski@oss.qualcomm.com>
 
 	* lang.opt.urls: Regenerate.
diff --git a/gcc/m2/ChangeLog b/gcc/m2/ChangeLog
index 404ee891d085..17e5383b7c4b 100644
--- a/gcc/m2/ChangeLog
+++ b/gcc/m2/ChangeLog
@@ -1,3 +1,7 @@
+2025-12-12  Pietro Monteiro  <pietro@sociotechnical.xyz>
+
+	* lang.opt.urls: Regenerate.
+
 2025-12-11  Jakub Jelinek  <jakub@redhat.com>
 
 	* gm2-compiler/M2Check.mod (buildError4): Fix comment typo,
diff --git a/gcc/rust/ChangeLog b/gcc/rust/ChangeLog
index 7fc7c8bd6d62..d9d291101c14 100644
--- a/gcc/rust/ChangeLog
+++ b/gcc/rust/ChangeLog
@@ -1,3 +1,7 @@
+2025-12-12  Pietro Monteiro  <pietro@sociotechnical.xyz>
+
+	* lang.opt.urls: Regenerate.
+
 2025-12-11  Jakub Jelinek  <jakub@redhat.com>
 
 	* backend/rust-tree.cc (fold_builtin_source_location): Fix string literal
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index cbeefe91ac42..16b34f1b9f02 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,717 @@
+2025-12-12  Nathaniel Shead  <nathanieloshead@gmail.com>
+
+	* g++.dg/ext/is_constructible9.C: Add to testcase.
+
+2025-12-12  Chung-Lin Tang  <cltang@baylibre.com>
+	    Tobias Burnus  <tburnus@baylibre.com>
+	    Andrew Stubbs  <ams@baylibre.com>
+
+	* c-c++-common/gomp/uses_allocators-1.c: New test.
+	* c-c++-common/gomp/uses_allocators-2.c: New test.
+	* c-c++-common/gomp/uses_allocators-4.c: New test.
+	* c-c++-common/gomp/uses_allocators-7.c: New test.
+	* g++.dg/gomp/deprecate-2.C: New test.
+	* g++.dg/gomp/uses_allocators-1.C: New test.
+	* gcc.dg/gomp/deprecate-2.c: New test.
+
+2025-12-12  Stefan Schulze Frielinghaus  <stefansf@gcc.gnu.org>
+
+	* g++.target/s390/builtin-array-arg-1.C: New test.
+	* gcc.target/s390/builtin-array-arg-1.c: New test.
+
+2025-12-12  David Malcolm  <dmalcolm@redhat.com>
+
+	PR analyzer/122003
+	* c-c++-common/analyzer/allocation-size-multiline-1.c: Update for split
+	of region creation events.
+	* c-c++-common/analyzer/bzip2-arg-parse-1.c: Drop test for enode
+	merging.  Add -Wno-analyzer-too-complex.
+	* c-c++-common/analyzer/coreutils-cksum-pr108664.c: Add
+	-Wno-analyzer-symbol-too-complex.  Add dg-bogus for false +ve seen
+	during patch development.
+	* c-c++-common/analyzer/coreutils-group_number.c: New test.
+	* c-c++-common/analyzer/data-model-20.c: Mark warnings as xfail.
+	* c-c++-common/analyzer/deref-before-check-qemu-qtest_rsp_args.c:
+	Add xfails.
+	* c-c++-common/analyzer/dot-output.c: Update for changes to dumps.
+	* c-c++-common/analyzer/fd-symbolic-socket.c: Update for
+	improvements to locations of leaks.
+	* c-c++-common/analyzer/fibonacci.c: Update regex.
+	* c-c++-common/analyzer/flex-with-call-summaries.c: Add xfail.
+	* c-c++-common/analyzer/flex-without-call-summaries.c: Add
+	-Wno-analyzer-symbol-too-complex.  Add xfail.
+	* c-c++-common/analyzer/infinite-recursion-5.c: Disable cases that
+	now explode the analysis.
+	* c-c++-common/analyzer/infinite-recursion-pr108524-2.c: Remove
+	xfail.
+	* c-c++-common/analyzer/invalid-shift-1.c: Remove xfails with c++26.
+	* c-c++-common/analyzer/ipa-callbacks-1.c: New test.
+	* c-c++-common/analyzer/loop-4.c: Expect incorrect UNKNOWN within
+	loop.  Update expected number of enodes.
+	* c-c++-common/analyzer/loop-n-down-to-1-by-1.c: Expect incorrect
+	UNKNOWN within loop.
+	* c-c++-common/analyzer/loop.c: Drop xfail.
+	* c-c++-common/analyzer/out-of-bounds-coreutils.c: Expect infinite
+	loop warning.
+	* c-c++-common/analyzer/paths-4.c: Update expected number of
+	enodes.
+	* c-c++-common/analyzer/pr94362-1.c: Drop -Wno-analyzer-too-complex.
+	* c-c++-common/analyzer/pr94851-2.c: Add xfail.
+	* c-c++-common/analyzer/pr96650-1-notrans.c: Add
+	-Wno-analyzer-too-complex.
+	* c-c++-common/analyzer/pr98628.c: Likewise.
+	* c-c++-common/analyzer/pr99774-1.c: Likewise.
+	* c-c++-common/analyzer/pragma-2.c: Expect double-free warning.
+	* c-c++-common/analyzer/realloc-1.c: Move expected location of
+	leak from trailing "}" to realloc call.
+	* c-c++-common/analyzer/sock-1.c: Add -fno-exceptions.
+	* c-c++-common/analyzer/sprintf-2.c: Add __attribute__ nonnull to
+	decl.
+	* c-c++-common/analyzer/sprintf-concat.c: Move expected location
+	of leak of p from sprintf to trailing "}".
+	* c-c++-common/analyzer/stdarg-sentinel-1.c: Drop
+	-Wno-analyzer-too-complex.
+	* c-c++-common/analyzer/strncpy-1.c: Add __attribute__ nonnull to
+	decl.
+	* c-c++-common/analyzer/strstr-1.c: Likewise.
+	* g++.dg/analyzer/analyzer.exp: Drop -fanalyzer-call-summaries.
+	* g++.dg/analyzer/fanalyzer-show-events-in-system-headers-default.C:
+	Update expected messages.
+	* g++.dg/analyzer/fanalyzer-show-events-in-system-headers-no.C:
+	Likewise.
+	* g++.dg/analyzer/fanalyzer-show-events-in-system-headers.C: Likewise.
+	* g++.dg/analyzer/pr94028.C: Move expected location of leak
+	warning to where return value of f is discarded within m.
+	* g++.dg/analyzer/pr96641.C: Expect infinite recursion warning.
+	* gcc.dg/analyzer/CWE-131-examples.c: Add
+	-Wno-analyzer-too-complex.
+	* gcc.dg/analyzer/abs-1.c (test_2): Fix return type.
+	* gcc.dg/analyzer/analyzer-decls.h: Reformat.  Add
+	__attribute__ ((nothrow)) to all functions.
+	* gcc.dg/analyzer/analyzer.exp: Drop -fanalyzer-call-summaries.
+	* gcc.dg/analyzer/boxed-malloc-1.c: Fix return types.
+	* gcc.dg/analyzer/call-summaries-2.c: Likewise.
+	* gcc.dg/analyzer/combined-conditionals-1.c: Likewise.
+	* gcc.dg/analyzer/compound-assignment-2.c: Expect warning about
+	missing return.
+	* gcc.dg/analyzer/compound-assignment-3.c: Likewise.
+	* gcc.dg/analyzer/conditionals-3.c: Fix return type.
+	* gcc.dg/analyzer/data-model-1.c: Likewise.
+	* gcc.dg/analyzer/data-model-15.c: Likewise.
+	* gcc.dg/analyzer/data-model-17.c: Likewise.
+	* gcc.dg/analyzer/data-model-20a.c: Remove xfail from bogus leak.
+	* gcc.dg/analyzer/data-model-7.c: Fix return type.
+	* gcc.dg/analyzer/doom-d_main-IdentifyVersion.c: Add xfail to some
+	of the leak msgs.
+	* gcc.dg/analyzer/doom-s_sound-pr108867.c: Add xfail.
+	* gcc.dg/analyzer/edges-1.c: Update for improvements to location
+	of leak.
+	* gcc.dg/analyzer/error-1.c: Fix return type.
+	* gcc.dg/analyzer/explode-1.c: Drop xfail.  Expect uninit and
+	double-free warnings.
+	* gcc.dg/analyzer/explode-2.c: Add xfail.
+	* gcc.dg/analyzer/explode-3.c: Drop xfail.  Expect uninit and
+	double-free warnings.
+	* gcc.dg/analyzer/fd-datagram-socket.c: Move expected location of
+	leaks to closing "}"s.
+	* gcc.dg/analyzer/fd-glibc-byte-stream-connection-server.c: Add
+	false +ve leak message, due to not considering that program is
+	about to exit.
+	* gcc.dg/analyzer/fd-stream-socket.c: Move expected location of
+	leaks to closing "}"s.
+	* gcc.dg/analyzer/malloc-1.c: Fix return types.
+	* gcc.dg/analyzer/malloc-many-paths-2.c: Likewise.
+	* gcc.dg/analyzer/malloc-paths-10.c: Likewise.
+	* gcc.dg/analyzer/malloc-vs-local-4.c: Likewise.
+	* gcc.dg/analyzer/memset-CVE-2017-18549-1.c: Likewise.
+	* gcc.dg/analyzer/null-deref-pr102671-1.c: Enable
+	-fanalyzer-call-summaries.
+	* gcc.dg/analyzer/null-deref-pr102671-2.c: Remove xfail.
+	* gcc.dg/analyzer/pr101143.c: Fix return type.
+	* gcc.dg/analyzer/pr101837.c: Fix return type.  Add warning about
+	missing return.
+	* gcc.dg/analyzer/pr101983-not-main.c: Fix return type.
+	* gcc.dg/analyzer/pr103892.c: Enable -fanalyzer-call-summaries.
+	* gcc.dg/analyzer/pr104224.c: Add xfails.
+	* gcc.dg/analyzer/pr104434-nonconst.c: Likewise.
+	* gcc.dg/analyzer/pr93032-mztools-signed-char.c: Increase
+	exploration limits by a factor of 5.
+	* gcc.dg/analyzer/pr93032-mztools-unsigned-char.c: Likewise.
+	* gcc.dg/analyzer/pr93355-localealias-feasibility-2.c: Fix return type.
+	* gcc.dg/analyzer/pr93355-localealias.c: Add xfail.  Add expected
+	leak true +ve and uninit false +ve.
+	* gcc.dg/analyzer/pr94579.c: Add warning about missing return.
+	* gcc.dg/analyzer/pr98599-a.c: Add missing return stmts.
+	* gcc.dg/analyzer/pr99771-1.c: Fix expected locations of leaks.
+	* gcc.dg/analyzer/pr99774-2.c: Likewise.
+	* gcc.dg/analyzer/sensitive-1.c: Fix return types.
+	* gcc.dg/analyzer/state-diagram-1-sarif.py: Update.
+	* gcc.dg/analyzer/stdarg-1.c
+	(__analyzer_test_not_enough_args_2_middle): Add test coverage for
+	wording of call event with variadic args.
+	* gcc.dg/analyzer/strcmp-1.c: Fix return types.
+	* gcc.dg/analyzer/strcpy-1.c: Likewise.
+	* gcc.dg/analyzer/switch-enum-taint-1.c: Add warning about missing
+	return.
+	* gcc.dg/analyzer/switch.c: Fix return types.
+	* gcc.dg/analyzer/taint-assert.c: Likewise.
+	* gcc.dg/analyzer/taint-write-offset-1.c: Likewise.
+	* gcc.dg/analyzer/torture/analyzer-torture.exp: Drop
+	-fanalyzer-call-summaries.
+	* gcc.dg/analyzer/torture/boxed-ptr-1.c: Fix return type.
+	* gcc.dg/analyzer/torture/fold-ptr-arith-pr105784.c: Add
+	-Wno-analyzer-too-complex.
+	* gcc.dg/analyzer/torture/loop-inc-ptr-1.c: Skip at -O3 to avoid
+	changes to enode count.
+	* gcc.dg/analyzer/torture/pr102225.c: Consolidate on one line to
+	avoid caring about precise location of leak warning.
+	* gcc.dg/analyzer/torture/pr93379.c: Skip on -fno-fat-lto-objects.
+	Add warning about uninit.
+	* gcc.dg/analyzer/torture/stdarg-4.c: Replace UNKNOWN with
+	symbolic sum of params.
+	* gcc.dg/analyzer/untracked-1.c: Fix return type.
+	* gcc.dg/analyzer/use-after-free.c: Likewise.
+	* gcc.dg/analyzer/zlib-3.c: Add xfails.
+	* gcc.dg/plugin/analyzer_cpython_plugin.cc
+	(class refcnt_stmt_finder): Eliminate.
+	(check_refcnt): ...in favor of a call to
+	make_ploc_fixer_for_epath_for_leak_diagnostic.
+	* gcc.dg/plugin/analyzer_gil_plugin.cc: Update for
+	location-handling changes.
+	* gcc.dg/plugin/infoleak-CVE-2011-1078-1.c: Add missing
+	"return 0;".
+	* gcc.dg/plugin/infoleak-CVE-2011-1078-2.c: Fix return types.
+	* gcc.dg/plugin/infoleak-CVE-2017-18549-1.c: Likewise.
+	* gdc.dg/analyzer/analyzer.exp: Drop -fanalyzer-call-summaries.
+	* gfortran.dg/analyzer/analyzer.exp: Likewise.
+	* gfortran.dg/analyzer/uninit-pr63311.f90: Add
+	-Wno-analyzer-too-complex.
+
+2025-12-12  Jakub Jelinek  <jakub@redhat.com>
+
+	PR rtl-optimization/121852
+	* gcc.dg/pr121852.c: New test.
+
+2025-12-12  Tejas Belagod  <tejas.belagod@arm.com>
+	    Tamar Christina  <tamar.christina@arm.com>
+
+	* g++.target/aarch64/sve/acle/general-c++/svbool_ternary.C: New test.
+
+2025-12-12  Jakub Jelinek  <jakub@redhat.com>
+
+	PR testsuite/123098
+	* gcc.dg/debug/dwarf2/omp-fesdr.c: Use #pragma omp masked
+	instead of #pragma omp master.
+	* g++.dg/debug/dwarf2/omp-fesdr.C: Likewise.
+
+2025-12-12  mengqinggang  <mengqinggang@loongson.cn>
+
+	* gcc.target/loongarch/la64/add-const.c: New test.
+	* gcc.target/loongarch/la64/alsl-cost.c: New test.
+	* gcc.target/loongarch/la64/alsl_wu.c: New test.
+	* gcc.target/loongarch/la64/and-large-immediate-opt.c: New test.
+	* gcc.target/loongarch/la64/arch-func-attr-1.c: New test.
+	* gcc.target/loongarch/la64/arch-pragma-attr-1.c: New test.
+	* gcc.target/loongarch/la64/attr-model-1.c: New test.
+	* gcc.target/loongarch/la64/attr-model-2.c: New test.
+	* gcc.target/loongarch/la64/attr-model-3.c: New test.
+	* gcc.target/loongarch/la64/attr-model-4.c: New test.
+	* gcc.target/loongarch/la64/attr-model-5.c: New test.
+	* gcc.target/loongarch/la64/attr-model-diag.c: New test.
+	* gcc.target/loongarch/la64/attr-model-test.c: New test.
+	* gcc.target/loongarch/la64/bitint-alignments.c: New test.
+	* gcc.target/loongarch/la64/bitint-args.c: New test.
+	* gcc.target/loongarch/la64/bitint-sizes.c: New test.
+	* gcc.target/loongarch/la64/bitwise-shift-reassoc.c: New test.
+	* gcc.target/loongarch/la64/bitwise_extend.c: New test.
+	* gcc.target/loongarch/la64/bstrins-1.c: New test.
+	* gcc.target/loongarch/la64/bstrins-2.c: New test.
+	* gcc.target/loongarch/la64/bstrins-3.c: New test.
+	* gcc.target/loongarch/la64/bstrins-4.c: New test.
+	* gcc.target/loongarch/la64/bstrpick_alsl_paired.c: New test.
+	* gcc.target/loongarch/la64/bytepick_combine.c: New test.
+	* gcc.target/loongarch/la64/bytepick_shift_128.c: New test.
+	* gcc.target/loongarch/la64/can_inline_1.c: New test.
+	* gcc.target/loongarch/la64/can_inline_2.c: New test.
+	* gcc.target/loongarch/la64/can_inline_3.c: New test.
+	* gcc.target/loongarch/la64/can_inline_4.c: New test.
+	* gcc.target/loongarch/la64/can_inline_5.c: New test.
+	* gcc.target/loongarch/la64/can_inline_6.c: New test.
+	* gcc.target/loongarch/la64/cmodel-extreme-1.c: New test.
+	* gcc.target/loongarch/la64/cmodel-extreme-2.c: New test.
+	* gcc.target/loongarch/la64/cmodel-func-attr-1.c: New test.
+	* gcc.target/loongarch/la64/cmodel-pragma-attr-1.c: New test.
+	* gcc.target/loongarch/la64/cmov_ii.c: New test.
+	* gcc.target/loongarch/la64/compare-both-non-zero.c: New test.
+	* gcc.target/loongarch/la64/conditional-move-opt-1.c: New test.
+	* gcc.target/loongarch/la64/conditional-move-opt-2.c: New test.
+	* gcc.target/loongarch/la64/conditional-move-opt-3.c: New test.
+	* gcc.target/loongarch/la64/const-double-zero-stx.c: New test.
+	* gcc.target/loongarch/la64/crc-sext.c: New test.
+	* gcc.target/loongarch/la64/direct-extern-1.c: New test.
+	* gcc.target/loongarch/la64/div-div32.c: New test.
+	* gcc.target/loongarch/la64/div-no-div32.c: New test.
+	* gcc.target/loongarch/la64/divf.c: New test.
+	* gcc.target/loongarch/la64/explicit-relocs-auto-extreme-tls-desc.c: New test.
+	* gcc.target/loongarch/la64/explicit-relocs-auto-lto.c: New test.
+	* gcc.target/loongarch/la64/explicit-relocs-auto-single-load-store-2.c: New test.
+	* gcc.target/loongarch/la64/explicit-relocs-auto-single-load-store-3.c: New test.
+	* gcc.target/loongarch/la64/explicit-relocs-auto-single-load-store-no-anchor.c: New test.
+	* gcc.target/loongarch/la64/explicit-relocs-auto-single-load-store.c: New test.
+	* gcc.target/loongarch/la64/explicit-relocs-auto-tls-desc.c: New test.
+	* gcc.target/loongarch/la64/explicit-relocs-auto-tls-ld-gd.c: New test.
+	* gcc.target/loongarch/la64/explicit-relocs-auto-tls-le-ie.c: New test.
+	* gcc.target/loongarch/la64/explicit-relocs-extreme-auto-tls-ld-gd.c: New test.
+	* gcc.target/loongarch/la64/explicit-relocs-extreme-tls-desc.c: New test.
+	* gcc.target/loongarch/la64/explicit-relocs-medium-auto-tls-ld-gd.c: New test.
+	* gcc.target/loongarch/la64/explicit-relocs-medium-call36-auto-tls-ld-gd.c: New test.
+	* gcc.target/loongarch/la64/explicit-relocs-tls-desc.c: New test.
+	* gcc.target/loongarch/la64/extendsidi2-combine.c: New test.
+	* gcc.target/loongarch/la64/fclass-compile.c: New test.
+	* gcc.target/loongarch/la64/fclass-run.c: New test.
+	* gcc.target/loongarch/la64/flogb.c: New test.
+	* gcc.target/loongarch/la64/flt-abi-isa-1.c: New test.
+	* gcc.target/loongarch/la64/flt-abi-isa-2.c: New test.
+	* gcc.target/loongarch/la64/flt-abi-isa-3.c: New test.
+	* gcc.target/loongarch/la64/flt-abi-isa-4.c: New test.
+	* gcc.target/loongarch/la64/frint.c: New test.
+	* gcc.target/loongarch/la64/fscaleb.c: New test.
+	* gcc.target/loongarch/la64/ftint-no-inexact.c: New test.
+	* gcc.target/loongarch/la64/ftint.c: New test.
+	* gcc.target/loongarch/la64/func-call-1.c: New test.
+	* gcc.target/loongarch/la64/func-call-2.c: New test.
+	* gcc.target/loongarch/la64/func-call-3.c: New test.
+	* gcc.target/loongarch/la64/func-call-4.c: New test.
+	* gcc.target/loongarch/la64/func-call-5.c: New test.
+	* gcc.target/loongarch/la64/func-call-6.c: New test.
+	* gcc.target/loongarch/la64/func-call-7.c: New test.
+	* gcc.target/loongarch/la64/func-call-8.c: New test.
+	* gcc.target/loongarch/la64/func-call-extreme-1.c: New test.
+	* gcc.target/loongarch/la64/func-call-extreme-2.c: New test.
+	* gcc.target/loongarch/la64/func-call-extreme-3.c: New test.
+	* gcc.target/loongarch/la64/func-call-extreme-4.c: New test.
+	* gcc.target/loongarch/la64/func-call-extreme-5.c: New test.
+	* gcc.target/loongarch/la64/func-call-extreme-6.c: New test.
+	* gcc.target/loongarch/la64/func-call-medium-1.c: New test.
+	* gcc.target/loongarch/la64/func-call-medium-2.c: New test.
+	* gcc.target/loongarch/la64/func-call-medium-3.c: New test.
+	* gcc.target/loongarch/la64/func-call-medium-5.c: New test.
+	* gcc.target/loongarch/la64/func-call-medium-6.c: New test.
+	* gcc.target/loongarch/la64/func-call-medium-7.c: New test.
+	* gcc.target/loongarch/la64/func-call-medium-8.c: New test.
+	* gcc.target/loongarch/la64/func-call-medium-call36-1.c: New test.
+	* gcc.target/loongarch/la64/func-call-medium-call36.c: New test.
+	* gcc.target/loongarch/la64/imm-load.c: New test.
+	* gcc.target/loongarch/la64/imm-load1.c: New test.
+	* gcc.target/loongarch/la64/invariant-recip.c: New test.
+	* gcc.target/loongarch/la64/la64.exp: New test.
+	* gcc.target/loongarch/la64/larch-frecipe-builtin.c: New test.
+	* gcc.target/loongarch/la64/larch-frecipe-intrinsic.c: New test.
+	* gcc.target/loongarch/la64/lasx-func-attr-1.c: New test.
+	* gcc.target/loongarch/la64/lasx-pragma-attr-1.c: New test.
+	* gcc.target/loongarch/la64/lsx-func-attr-1.c: New test.
+	* gcc.target/loongarch/la64/lsx-pragma-attr-1.c: New test.
+	* gcc.target/loongarch/la64/math-float-128.c: New test.
+	* gcc.target/loongarch/la64/mem-and-mask-opt.c: New test.
+	* gcc.target/loongarch/la64/memcpy-vec-1.c: New test.
+	* gcc.target/loongarch/la64/memcpy-vec-2.c: New test.
+	* gcc.target/loongarch/la64/memcpy-vec-3.c: New test.
+	* gcc.target/loongarch/la64/mode-tieable-opt.c: New test.
+	* gcc.target/loongarch/la64/mov-zero-2.c: New test.
+	* gcc.target/loongarch/la64/movcf2gr-via-fr.c: New test.
+	* gcc.target/loongarch/la64/movcf2gr.c: New test.
+	* gcc.target/loongarch/la64/mul-const-reduction.c: New test.
+	* gcc.target/loongarch/la64/mulh_wu.c: New test.
+	* gcc.target/loongarch/la64/mulw_d_w.c: New test.
+	* gcc.target/loongarch/la64/mulw_d_wu.c: New test.
+	* gcc.target/loongarch/la64/pr109465-1.c: New test.
+	* gcc.target/loongarch/la64/pr109465-2.c: New test.
+	* gcc.target/loongarch/la64/pr109465-3.c: New test.
+	* gcc.target/loongarch/la64/pr113148.c: New test.
+	* gcc.target/loongarch/la64/pr114861.c: New test.
+	* gcc.target/loongarch/la64/pr118561.c: New test.
+	* gcc.target/loongarch/la64/pr118828-2.c: New test.
+	* gcc.target/loongarch/la64/pr118828-3.c: New test.
+	* gcc.target/loongarch/la64/pr118828-4.c: New test.
+	* gcc.target/loongarch/la64/pr118828.c: New test.
+	* gcc.target/loongarch/la64/pr118843.c: New test.
+	* gcc.target/loongarch/la64/pr119127.c: New test.
+	* gcc.target/loongarch/la64/pr121542.c: New test.
+	* gcc.target/loongarch/la64/pr121634.c: New test.
+	* gcc.target/loongarch/la64/pr121875.c: New test.
+	* gcc.target/loongarch/la64/prolog-opt.c: New test.
+	* gcc.target/loongarch/la64/recip-divf.c: New test.
+	* gcc.target/loongarch/la64/recip-sqrtf.c: New test.
+	* gcc.target/loongarch/la64/relocs-symbol-noaddend.c: New test.
+	* gcc.target/loongarch/la64/revb.c: New test.
+	* gcc.target/loongarch/la64/rotl-with-rotr.c: New test.
+	* gcc.target/loongarch/la64/rotrw.c: New test.
+	* gcc.target/loongarch/la64/sign-extend-1.c: New test.
+	* gcc.target/loongarch/la64/sign-extend-2.c: New test.
+	* gcc.target/loongarch/la64/sign-extend-3.c: New test.
+	* gcc.target/loongarch/la64/sign-extend-4.c: New test.
+	* gcc.target/loongarch/la64/sign-extend-5.c: New test.
+	* gcc.target/loongarch/la64/sign-extend-6.c: New test.
+	* gcc.target/loongarch/la64/sign-extend-bitwise.c: New test.
+	* gcc.target/loongarch/la64/sign_extend_ashift.c: New test.
+	* gcc.target/loongarch/la64/slt-sign-extend.c: New test.
+	* gcc.target/loongarch/la64/smuldi3_highpart.c: New test.
+	* gcc.target/loongarch/la64/spill-less.c: New test.
+	* gcc.target/loongarch/la64/sqrtf.c: New test.
+	* gcc.target/loongarch/la64/switch-qi.c: New test.
+	* gcc.target/loongarch/la64/tls-extreme-macro.c: New test.
+	* gcc.target/loongarch/la64/tls-gd-noplt.c: New test.
+	* gcc.target/loongarch/la64/tls-ie-extreme.c: New test.
+	* gcc.target/loongarch/la64/tls-ie-norelax.c: New test.
+	* gcc.target/loongarch/la64/tls-ie-relax.c: New test.
+	* gcc.target/loongarch/la64/tls-le-relax.c: New test.
+	* gcc.target/loongarch/la64/widen-mul-rtx-cost-signed.c: New test.
+	* gcc.target/loongarch/la64/widen-mul-rtx-cost-unsigned.c: New test.
+	* gcc.target/loongarch/la64/zero-size-field-pass.c: New test.
+	* gcc.target/loongarch/la64/zero-size-field-ret.c: New test.
+	* gcc.target/loongarch/vector/lasx/abd-lasx.c: New test.
+	* gcc.target/loongarch/vector/lasx/avg-ceil-lasx.c: New test.
+	* gcc.target/loongarch/vector/lasx/avg-floor-lasx.c: New test.
+	* gcc.target/loongarch/vector/lasx/fnmam4-vec.c: New test.
+	* gcc.target/loongarch/vector/lasx/lasx-andn-iorn.c: New test.
+	* gcc.target/loongarch/vector/lasx/lasx-extract-even_odd-opt.c: New test.
+	* gcc.target/loongarch/vector/lasx/lasx-func-attr-2.c: New test.
+	* gcc.target/loongarch/vector/lasx/lasx-pragma-attr-2.c: New test.
+	* gcc.target/loongarch/vector/lasx/lasx-reduc-1.c: New test.
+	* gcc.target/loongarch/vector/lasx/lasx-xvpermi_q-opt.c: New test.
+	* gcc.target/loongarch/vector/lasx/pr112476-2.c: New test.
+	* gcc.target/loongarch/vector/lasx/pr112476-4.c: New test.
+	* gcc.target/loongarch/vector/lasx/pr113033.c: New test.
+	* gcc.target/loongarch/vector/lasx/pragma-push-pop.c: New test.
+	* gcc.target/loongarch/vector/lasx/rotl-with-xvrotr-b.c: New test.
+	* gcc.target/loongarch/vector/lasx/rotl-with-xvrotr-d.c: New test.
+	* gcc.target/loongarch/vector/lasx/rotl-with-xvrotr-h.c: New test.
+	* gcc.target/loongarch/vector/lasx/rotl-with-xvrotr-w.c: New test.
+	* gcc.target/loongarch/vector/lasx/sad-lasx.c: New test.
+	* gcc.target/loongarch/vector/lasx/strict-align.c: New test.
+	* gcc.target/loongarch/vector/lasx/vec_pack_unpack_256.c: New test.
+	* gcc.target/loongarch/vector/lasx/vec_reduc_half.c: New test.
+	* gcc.target/loongarch/vector/lasx/vect-extract.c: New test.
+	* gcc.target/loongarch/vector/lasx/vect-frint-no-inexact.c: New test.
+	* gcc.target/loongarch/vector/lasx/vect-frint.c: New test.
+	* gcc.target/loongarch/vector/lasx/vect-ftint-no-inexact.c: New test.
+	* gcc.target/loongarch/vector/lasx/vect-ftint.c: New test.
+	* gcc.target/loongarch/vector/lasx/vect-ld-st-imm12.c: New test.
+	* gcc.target/loongarch/vector/lasx/vect-muh.c: New test.
+	* gcc.target/loongarch/vector/lasx/vect-rotr.c: New test.
+	* gcc.target/loongarch/vector/lasx/vect-shuf-fp.c: New test.
+	* gcc.target/loongarch/vector/lasx/vect-slp-two-operator.c: New test.
+	* gcc.target/loongarch/vector/lasx/vect-widen-add.c: New test.
+	* gcc.target/loongarch/vector/lasx/vect-widen-mul.c: New test.
+	* gcc.target/loongarch/vector/lasx/vect-widen-sub.c: New test.
+	* gcc.target/loongarch/vector/lasx/vfmax-vfmin.c: New test.
+	* gcc.target/loongarch/vector/lasx/vrepli.c: New test.
+	* gcc.target/loongarch/vector/lasx/wide-mul-reduc-1.c: New test.
+	* gcc.target/loongarch/vector/lasx/wide-mul-reduc-2.c: New test.
+	* gcc.target/loongarch/vector/lasx/xvfcmp-d.c: New test.
+	* gcc.target/loongarch/vector/lasx/xvfcmp-f.c: New test.
+	* gcc.target/loongarch/vector/lsx/abd-lsx.c: New test.
+	* gcc.target/loongarch/vector/lsx/avg-ceil-lsx.c: New test.
+	* gcc.target/loongarch/vector/lsx/avg-floor-lsx.c: New test.
+	* gcc.target/loongarch/vector/lsx/lsx-andn-iorn.c: New test.
+	* gcc.target/loongarch/vector/lsx/lsx-func-attr-2.c: New test.
+	* gcc.target/loongarch/vector/lsx/lsx-pragma-attr-2.c: New test.
+	* gcc.target/loongarch/vector/lsx/mov-zero-1.c: New test.
+	* gcc.target/loongarch/vector/lsx/popcnt.c: New test.
+	* gcc.target/loongarch/vector/lsx/popcount.c: New test.
+	* gcc.target/loongarch/vector/lsx/pr112476-1.c: New test.
+	* gcc.target/loongarch/vector/lsx/pr112476-3.c: New test.
+	* gcc.target/loongarch/vector/lsx/pr119084.c: New test.
+	* gcc.target/loongarch/vector/lsx/pr121064.c: New test.
+	* gcc.target/loongarch/vector/lsx/pr122097.c: New test.
+	* gcc.target/loongarch/vector/lsx/rotl-with-vrotr-b.c: New test.
+	* gcc.target/loongarch/vector/lsx/rotl-with-vrotr-d.c: New test.
+	* gcc.target/loongarch/vector/lsx/rotl-with-vrotr-h.c: New test.
+	* gcc.target/loongarch/vector/lsx/rotl-with-vrotr-w.c: New test.
+	* gcc.target/loongarch/vector/lsx/sad-lsx.c: New test.
+	* gcc.target/loongarch/vector/lsx/vec_pack_unpack_128.c: New test.
+	* gcc.target/loongarch/vector/lsx/vect-frint-scalar-no-inexact.c: New test.
+	* gcc.target/loongarch/vector/lsx/vect-frint-scalar.c: New test.
+	* gcc.target/loongarch/vector/lsx/vect-shift-imm-round.c: New test.
+	* gcc.target/loongarch/vector/lsx/vector-func-attr-1.c: New test.
+	* gcc.target/loongarch/vector/lsx/vector-pragma-attr-1.c: New test.
+	* gcc.target/loongarch/vector/lsx/vfcmp-d.c: New test.
+	* gcc.target/loongarch/vector/lsx/vfcmp-f.c: New test.
+	* gcc.target/loongarch/vector/lsx/xorsign-run.c: New test.
+	* gcc.target/loongarch/vector/lsx/xorsign.c: New test.
+
+2025-12-12  mengqinggang  <mengqinggang@loongson.cn>
+
+	* g++.target/loongarch/bytepick.C: Skip on LA32.
+	* g++.target/loongarch/got-load.C: Likewise.
+	* g++.target/loongarch/pr106828.C: Likewise.
+	* g++.target/loongarch/vect-ashr-lshr.C: Add loongarch_asx check.
+	* gcc.dg/ifcvt-4.c: Skip on LA32.
+	* gcc.dg/stack-usage-1.c: Change __loongarch_lp64 to __loongarch__.
+	* gcc.dg/tree-ssa/gen-vect-2.c: Skip on LoongArch.
+	* gcc.dg/tree-ssa/gen-vect-25.c: Likewise.
+	* gcc.dg/tree-ssa/pr83403-1.c: Add dg-additional-options.
+	* gcc.dg/tree-ssa/pr83403-2.c: Likewise.
+	* gcc.target/loongarch/float-load.c: Add hard_float check.
+	* gcc.target/loongarch/larch-builtin.c: Skip some check on LA32.
+	* gcc.target/loongarch/pr115752.c: Add hard_float check.
+	* gcc.target/loongarch/vector/loongarch-vector.exp: Add
+	check_effective_target_loongarch_sx.
+	* lib/target-supports.exp: Add hard float condition to
+	check_effective_target_scalar_all_fma.
+	Disable loongarch for check_effective_target_vect_cmdline_needed.
+	Add check_effective_target_loongarch_sx condition to
+	check_vect_support_and_set_flags.
+	* gcc.target/loongarch/abd-lasx.c: Removed.
+	* gcc.target/loongarch/abd-lsx.c: Removed.
+	* gcc.target/loongarch/add-const.c: Removed.
+	* gcc.target/loongarch/alsl-cost.c: Removed.
+	* gcc.target/loongarch/alsl_wu.c: Removed.
+	* gcc.target/loongarch/and-large-immediate-opt.c: Removed.
+	* gcc.target/loongarch/arch-func-attr-1.c: Removed.
+	* gcc.target/loongarch/arch-pragma-attr-1.c: Removed.
+	* gcc.target/loongarch/attr-model-1.c: Removed.
+	* gcc.target/loongarch/attr-model-2.c: Removed.
+	* gcc.target/loongarch/attr-model-3.c: Removed.
+	* gcc.target/loongarch/attr-model-4.c: Removed.
+	* gcc.target/loongarch/attr-model-5.c: Removed.
+	* gcc.target/loongarch/attr-model-diag.c: Removed.
+	* gcc.target/loongarch/attr-model-test.c: Removed.
+	* gcc.target/loongarch/avg-ceil-lasx.c: Removed.
+	* gcc.target/loongarch/avg-ceil-lsx.c: Removed.
+	* gcc.target/loongarch/avg-floor-lasx.c: Removed.
+	* gcc.target/loongarch/avg-floor-lsx.c: Removed.
+	* gcc.target/loongarch/bitint-alignments.c: Removed.
+	* gcc.target/loongarch/bitint-args.c: Removed.
+	* gcc.target/loongarch/bitint-sizes.c: Removed.
+	* gcc.target/loongarch/bitwise-shift-reassoc.c: Removed.
+	* gcc.target/loongarch/bitwise_extend.c: Removed.
+	* gcc.target/loongarch/bstrins-1.c: Removed.
+	* gcc.target/loongarch/bstrins-2.c: Removed.
+	* gcc.target/loongarch/bstrins-3.c: Removed.
+	* gcc.target/loongarch/bstrins-4.c: Removed.
+	* gcc.target/loongarch/bstrpick_alsl_paired.c: Removed.
+	* gcc.target/loongarch/bytepick_combine.c: Removed.
+	* gcc.target/loongarch/bytepick_shift_128.c: Removed.
+	* gcc.target/loongarch/can_inline_1.c: Removed.
+	* gcc.target/loongarch/can_inline_2.c: Removed.
+	* gcc.target/loongarch/can_inline_3.c: Removed.
+	* gcc.target/loongarch/can_inline_4.c: Removed.
+	* gcc.target/loongarch/can_inline_5.c: Removed.
+	* gcc.target/loongarch/can_inline_6.c: Removed.
+	* gcc.target/loongarch/cmodel-extreme-1.c: Removed.
+	* gcc.target/loongarch/cmodel-extreme-2.c: Removed.
+	* gcc.target/loongarch/cmodel-func-attr-1.c: Removed.
+	* gcc.target/loongarch/cmodel-pragma-attr-1.c: Removed.
+	* gcc.target/loongarch/cmov_ii.c: Removed.
+	* gcc.target/loongarch/compare-both-non-zero.c: Removed.
+	* gcc.target/loongarch/conditional-move-opt-1.c: Removed.
+	* gcc.target/loongarch/conditional-move-opt-2.c: Removed.
+	* gcc.target/loongarch/conditional-move-opt-3.c: Removed.
+	* gcc.target/loongarch/const-double-zero-stx.c: Removed.
+	* gcc.target/loongarch/crc-sext.c: Removed.
+	* gcc.target/loongarch/direct-extern-1.c: Removed.
+	* gcc.target/loongarch/div-div32.c: Removed.
+	* gcc.target/loongarch/div-no-div32.c: Removed.
+	* gcc.target/loongarch/divf.c: Removed.
+	* gcc.target/loongarch/explicit-relocs-auto-extreme-tls-desc.c: Removed.
+	* gcc.target/loongarch/explicit-relocs-auto-lto.c: Removed.
+	* gcc.target/loongarch/explicit-relocs-auto-single-load-store-2.c: Removed.
+	* gcc.target/loongarch/explicit-relocs-auto-single-load-store-3.c: Removed.
+	* gcc.target/loongarch/explicit-relocs-auto-single-load-store-no-anchor.c: Removed.
+	* gcc.target/loongarch/explicit-relocs-auto-single-load-store.c: Removed.
+	* gcc.target/loongarch/explicit-relocs-auto-tls-desc.c: Removed.
+	* gcc.target/loongarch/explicit-relocs-auto-tls-ld-gd.c: Removed.
+	* gcc.target/loongarch/explicit-relocs-auto-tls-le-ie.c: Removed.
+	* gcc.target/loongarch/explicit-relocs-extreme-auto-tls-ld-gd.c: Removed.
+	* gcc.target/loongarch/explicit-relocs-extreme-tls-desc.c: Removed.
+	* gcc.target/loongarch/explicit-relocs-medium-auto-tls-ld-gd.c: Removed.
+	* gcc.target/loongarch/explicit-relocs-medium-call36-auto-tls-ld-gd.c: Removed.
+	* gcc.target/loongarch/explicit-relocs-tls-desc.c: Removed.
+	* gcc.target/loongarch/extendsidi2-combine.c: Removed.
+	* gcc.target/loongarch/fclass-compile.c: Removed.
+	* gcc.target/loongarch/fclass-run.c: Removed.
+	* gcc.target/loongarch/flogb.c: Removed.
+	* gcc.target/loongarch/flt-abi-isa-1.c: Removed.
+	* gcc.target/loongarch/flt-abi-isa-2.c: Removed.
+	* gcc.target/loongarch/flt-abi-isa-3.c: Removed.
+	* gcc.target/loongarch/flt-abi-isa-4.c: Removed.
+	* gcc.target/loongarch/fnmam4-vec.c: Removed.
+	* gcc.target/loongarch/frint.c: Removed.
+	* gcc.target/loongarch/fscaleb.c: Removed.
+	* gcc.target/loongarch/ftint-no-inexact.c: Removed.
+	* gcc.target/loongarch/ftint.c: Removed.
+	* gcc.target/loongarch/func-call-1.c: Removed.
+	* gcc.target/loongarch/func-call-2.c: Removed.
+	* gcc.target/loongarch/func-call-3.c: Removed.
+	* gcc.target/loongarch/func-call-4.c: Removed.
+	* gcc.target/loongarch/func-call-5.c: Removed.
+	* gcc.target/loongarch/func-call-6.c: Removed.
+	* gcc.target/loongarch/func-call-7.c: Removed.
+	* gcc.target/loongarch/func-call-8.c: Removed.
+	* gcc.target/loongarch/func-call-extreme-1.c: Removed.
+	* gcc.target/loongarch/func-call-extreme-2.c: Removed.
+	* gcc.target/loongarch/func-call-extreme-3.c: Removed.
+	* gcc.target/loongarch/func-call-extreme-4.c: Removed.
+	* gcc.target/loongarch/func-call-extreme-5.c: Removed.
+	* gcc.target/loongarch/func-call-extreme-6.c: Removed.
+	* gcc.target/loongarch/func-call-medium-1.c: Removed.
+	* gcc.target/loongarch/func-call-medium-2.c: Removed.
+	* gcc.target/loongarch/func-call-medium-3.c: Removed.
+	* gcc.target/loongarch/func-call-medium-5.c: Removed.
+	* gcc.target/loongarch/func-call-medium-6.c: Removed.
+	* gcc.target/loongarch/func-call-medium-7.c: Removed.
+	* gcc.target/loongarch/func-call-medium-8.c: Removed.
+	* gcc.target/loongarch/func-call-medium-call36-1.c: Removed.
+	* gcc.target/loongarch/func-call-medium-call36.c: Removed.
+	* gcc.target/loongarch/imm-load.c: Removed.
+	* gcc.target/loongarch/imm-load1.c: Removed.
+	* gcc.target/loongarch/invariant-recip.c: Removed.
+	* gcc.target/loongarch/larch-frecipe-builtin.c: Removed.
+	* gcc.target/loongarch/larch-frecipe-intrinsic.c: Removed.
+	* gcc.target/loongarch/lasx-andn-iorn.c: Removed.
+	* gcc.target/loongarch/lasx-extract-even_odd-opt.c: Removed.
+	* gcc.target/loongarch/lasx-func-attr-1.c: Removed.
+	* gcc.target/loongarch/lasx-func-attr-2.c: Removed.
+	* gcc.target/loongarch/lasx-pragma-attr-1.c: Removed.
+	* gcc.target/loongarch/lasx-pragma-attr-2.c: Removed.
+	* gcc.target/loongarch/lasx-reduc-1.c: Removed.
+	* gcc.target/loongarch/lasx-xvpermi_q-opt.c: Removed.
+	* gcc.target/loongarch/lsx-andn-iorn.c: Removed.
+	* gcc.target/loongarch/lsx-func-attr-1.c: Removed.
+	* gcc.target/loongarch/lsx-func-attr-2.c: Removed.
+	* gcc.target/loongarch/lsx-pragma-attr-1.c: Removed.
+	* gcc.target/loongarch/lsx-pragma-attr-2.c: Removed.
+	* gcc.target/loongarch/math-float-128.c: Removed.
+	* gcc.target/loongarch/mem-and-mask-opt.c: Removed.
+	* gcc.target/loongarch/memcpy-vec-1.c: Removed.
+	* gcc.target/loongarch/memcpy-vec-2.c: Removed.
+	* gcc.target/loongarch/memcpy-vec-3.c: Removed.
+	* gcc.target/loongarch/mode-tieable-opt.c: Removed.
+	* gcc.target/loongarch/mov-zero-1.c: Removed.
+	* gcc.target/loongarch/mov-zero-2.c: Removed.
+	* gcc.target/loongarch/movcf2gr-via-fr.c: Removed.
+	* gcc.target/loongarch/movcf2gr.c: Removed.
+	* gcc.target/loongarch/mul-const-reduction.c: Removed.
+	* gcc.target/loongarch/mulh_wu.c: Removed.
+	* gcc.target/loongarch/mulw_d_w.c: Removed.
+	* gcc.target/loongarch/mulw_d_wu.c: Removed.
+	* gcc.target/loongarch/popcnt.c: Removed.
+	* gcc.target/loongarch/popcount.c: Removed.
+	* gcc.target/loongarch/pr109465-1.c: Removed.
+	* gcc.target/loongarch/pr109465-2.c: Removed.
+	* gcc.target/loongarch/pr109465-3.c: Removed.
+	* gcc.target/loongarch/pr112476-1.c: Removed.
+	* gcc.target/loongarch/pr112476-2.c: Removed.
+	* gcc.target/loongarch/pr112476-3.c: Removed.
+	* gcc.target/loongarch/pr112476-4.c: Removed.
+	* gcc.target/loongarch/pr113033.c: Removed.
+	* gcc.target/loongarch/pr113148.c: Removed.
+	* gcc.target/loongarch/pr114861.c: Removed.
+	* gcc.target/loongarch/pr118561.c: Removed.
+	* gcc.target/loongarch/pr118828-2.c: Removed.
+	* gcc.target/loongarch/pr118828-3.c: Removed.
+	* gcc.target/loongarch/pr118828-4.c: Removed.
+	* gcc.target/loongarch/pr118828.c: Removed.
+	* gcc.target/loongarch/pr118843.c: Removed.
+	* gcc.target/loongarch/pr119084.c: Removed.
+	* gcc.target/loongarch/pr119127.c: Removed.
+	* gcc.target/loongarch/pr121064.c: Removed.
+	* gcc.target/loongarch/pr121542.c: Removed.
+	* gcc.target/loongarch/pr121634.c: Removed.
+	* gcc.target/loongarch/pr121875.c: Removed.
+	* gcc.target/loongarch/pr122097.c: Removed.
+	* gcc.target/loongarch/pragma-push-pop.c: Removed.
+	* gcc.target/loongarch/prolog-opt.c: Removed.
+	* gcc.target/loongarch/recip-divf.c: Removed.
+	* gcc.target/loongarch/recip-sqrtf.c: Removed.
+	* gcc.target/loongarch/relocs-symbol-noaddend.c: Removed.
+	* gcc.target/loongarch/revb.c: Removed.
+	* gcc.target/loongarch/rotl-with-rotr.c: Removed.
+	* gcc.target/loongarch/rotl-with-vrotr-b.c: Removed.
+	* gcc.target/loongarch/rotl-with-vrotr-d.c: Removed.
+	* gcc.target/loongarch/rotl-with-vrotr-h.c: Removed.
+	* gcc.target/loongarch/rotl-with-vrotr-w.c: Removed.
+	* gcc.target/loongarch/rotl-with-xvrotr-b.c: Removed.
+	* gcc.target/loongarch/rotl-with-xvrotr-d.c: Removed.
+	* gcc.target/loongarch/rotl-with-xvrotr-h.c: Removed.
+	* gcc.target/loongarch/rotl-with-xvrotr-w.c: Removed.
+	* gcc.target/loongarch/rotrw.c: Removed.
+	* gcc.target/loongarch/sad-lasx.c: Removed.
+	* gcc.target/loongarch/sad-lsx.c: Removed.
+	* gcc.target/loongarch/sign-extend-1.c: Removed.
+	* gcc.target/loongarch/sign-extend-2.c: Removed.
+	* gcc.target/loongarch/sign-extend-3.c: Removed.
+	* gcc.target/loongarch/sign-extend-4.c: Removed.
+	* gcc.target/loongarch/sign-extend-5.c: Removed.
+	* gcc.target/loongarch/sign-extend-6.c: Removed.
+	* gcc.target/loongarch/sign-extend-bitwise.c: Removed.
+	* gcc.target/loongarch/sign_extend_ashift.c: Removed.
+	* gcc.target/loongarch/slt-sign-extend.c: Removed.
+	* gcc.target/loongarch/smuldi3_highpart.c: Removed.
+	* gcc.target/loongarch/spill-less.c: Removed.
+	* gcc.target/loongarch/sqrtf.c: Removed.
+	* gcc.target/loongarch/strict-align.c: Removed.
+	* gcc.target/loongarch/switch-qi.c: Removed.
+	* gcc.target/loongarch/tls-extreme-macro.c: Removed.
+	* gcc.target/loongarch/tls-gd-noplt.c: Removed.
+	* gcc.target/loongarch/tls-ie-extreme.c: Removed.
+	* gcc.target/loongarch/tls-ie-norelax.c: Removed.
+	* gcc.target/loongarch/tls-ie-relax.c: Removed.
+	* gcc.target/loongarch/tls-le-relax.c: Removed.
+	* gcc.target/loongarch/vec_pack_unpack_128.c: Removed.
+	* gcc.target/loongarch/vec_pack_unpack_256.c: Removed.
+	* gcc.target/loongarch/vec_reduc_half.c: Removed.
+	* gcc.target/loongarch/vect-extract.c: Removed.
+	* gcc.target/loongarch/vect-frint-no-inexact.c: Removed.
+	* gcc.target/loongarch/vect-frint-scalar-no-inexact.c: Removed.
+	* gcc.target/loongarch/vect-frint-scalar.c: Removed.
+	* gcc.target/loongarch/vect-frint.c: Removed.
+	* gcc.target/loongarch/vect-ftint-no-inexact.c: Removed.
+	* gcc.target/loongarch/vect-ftint.c: Removed.
+	* gcc.target/loongarch/vect-ld-st-imm12.c: Removed.
+	* gcc.target/loongarch/vect-muh.c: Removed.
+	* gcc.target/loongarch/vect-rotr.c: Removed.
+	* gcc.target/loongarch/vect-shift-imm-round.c: Removed.
+	* gcc.target/loongarch/vect-shuf-fp.c: Removed.
+	* gcc.target/loongarch/vect-slp-two-operator.c: Removed.
+	* gcc.target/loongarch/vect-widen-add.c: Removed.
+	* gcc.target/loongarch/vect-widen-mul.c: Removed.
+	* gcc.target/loongarch/vect-widen-sub.c: Removed.
+	* gcc.target/loongarch/vector-func-attr-1.c: Removed.
+	* gcc.target/loongarch/vector-pragma-attr-1.c: Removed.
+	* gcc.target/loongarch/vfcmp-d.c: Removed.
+	* gcc.target/loongarch/vfcmp-f.c: Removed.
+	* gcc.target/loongarch/vfmax-vfmin.c: Removed.
+	* gcc.target/loongarch/vrepli.c: Removed.
+	* gcc.target/loongarch/wide-mul-reduc-1.c: Removed.
+	* gcc.target/loongarch/wide-mul-reduc-2.c: Removed.
+	* gcc.target/loongarch/widen-mul-rtx-cost-signed.c: Removed.
+	* gcc.target/loongarch/widen-mul-rtx-cost-unsigned.c: Removed.
+	* gcc.target/loongarch/xorsign-run.c: Removed.
+	* gcc.target/loongarch/xorsign.c: Removed.
+	* gcc.target/loongarch/xvfcmp-d.c: Removed.
+	* gcc.target/loongarch/xvfcmp-f.c: Removed.
+	* gcc.target/loongarch/zero-size-field-pass.c: Removed.
+	* gcc.target/loongarch/zero-size-field-ret.c: Removed.
+
+2025-12-12  mengqinggang  <mengqinggang@loongson.cn>
+
+	* gcc.target/loongarch/la32/memcpy.c: New test.
+
+2025-12-12  Jiajie Chen  <c@jia.je>
+
+	* gcc.target/loongarch/la32/trunc_int_for_mode.c: New test.
+
+2025-12-12  mengqinggang  <mengqinggang@loongson.cn>
+
+	* gcc.target/loongarch/la32/and.c: New test.
+	* gcc.target/loongarch/la32/la32.exp: New test.
+
+2025-12-12  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+	* algol68/execute/manorboy.a68: New file.
+
 2025-12-11  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
 
 	PR fortran/107406
diff --git a/include/ChangeLog b/include/ChangeLog
index 8bde9e367181..999c704a611c 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,10 @@
+2025-12-12  mengqinggang  <mengqinggang@loongson.cn>
+	    Jiajie Chen  <c@jia.je>
+
+	* longlong.h (count_leading_zeros): Delete because LA32R no clz.
+	(count_trailing_zeros): Delete because LA32R no ctz.
+	(COUNT_LEADING_ZEROS_0): Delete.
+
 2025-12-01  Andrew Stubbs  <ams@baylibre.com>
 
 	* hsa.h: Import newer version.
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog
index 75ba93ea261a..6778efd9ef13 100644
--- a/libgcc/ChangeLog
+++ b/libgcc/ChangeLog
@@ -1,3 +1,11 @@
+2025-12-12  mengqinggang  <mengqinggang@loongson.cn>
+
+	* configure: Regenerate.
+	* configure.ac:
+	* config/loongarch/t-crtstuff-la32: New file.
+	* config/loongarch/t-crtstuff: Rename to t-crtstuff-la64.
+	* config/loongarch/t-crtstuff-la64: New file.
+
 2025-12-09  John Ericson  <git@JohnEricson.me>
 
 	* config/rs6000/t-slibgcc-aix: Instead of using a
diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog
index 17699850aeb5..48c5a12ef222 100644
--- a/libgomp/ChangeLog
+++ b/libgomp/ChangeLog
@@ -1,3 +1,27 @@
+2025-12-12  Tobias Burnus  <tburnus@baylibre.com>
+
+	* testsuite/libgomp.fortran/dep-uses-allocators.f90: Properly
+	escape '(..)' in dg-warning.
+
+2025-12-12  Tobias Burnus  <tburnus@baylibre.com>
+
+	* testsuite/libgomp.fortran/dep-uses-allocators.f90: Update
+	dg-warning.
+
+2025-12-12  Tobias Burnus  <tburnus@baylibre.com>
+
+	* libgomp.texi (OpenMP Implementation Status): Add missing '@tab';
+	claim initial partial support for 'declare mapper',
+	'uses_allocators', and map iterators.
+
+2025-12-12  Chung-Lin Tang  <cltang@baylibre.com>
+	    Tobias Burnus  <tburnus@baylibre.com>
+	    Andrew Stubbs  <ams@baylibre.com>
+
+	* testsuite/libgomp.fortran/uses_allocators_1.f90: Add check for
+	omp_null_allocator.
+	* testsuite/libgomp.fortran/uses_allocators-7.f90: New test.
+
 2025-12-11  Jakub Jelinek  <jakub@redhat.com>
 
 	PR libstdc++/121114
diff --git a/libitm/ChangeLog b/libitm/ChangeLog
index f71afd758046..81994e3a3db5 100644
--- a/libitm/ChangeLog
+++ b/libitm/ChangeLog
@@ -1,3 +1,8 @@
+2025-12-12  mengqinggang  <mengqinggang@loongson.cn>
+	    Jiajie Chen  <c@jia.je>
+
+	* config/loongarch/asm.h: Fix ilp32 detection.
+
 2025-11-19  Martin Liska  <martin.liska@hey.com>
 
 	* acinclude.m4:: Add detection for wild linker.
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 1ec4fb7231d8..9d123c647a5e 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,7 @@
+2025-12-12  Luc Grosheintz  <luc.grosheintz@gmail.com>
+
+	* include/std/mdspan (submdspan): Fix missing '::template'.
+
 2025-12-11  Jakub Jelinek  <jakub@redhat.com>
 
 	PR libstdc++/121114


More information about the Gcc-cvs mailing list