]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Daily bump.
authorGCC Administrator <gccadmin@gcc.gnu.org>
Sat, 13 Dec 2025 00:16:34 +0000 (00:16 +0000)
committerGCC Administrator <gccadmin@gcc.gnu.org>
Sat, 13 Dec 2025 00:16:34 +0000 (00:16 +0000)
19 files changed:
ChangeLog
contrib/ChangeLog
gcc/ChangeLog
gcc/DATESTAMP
gcc/algol68/ChangeLog
gcc/analyzer/ChangeLog
gcc/c-family/ChangeLog
gcc/c/ChangeLog
gcc/cp/ChangeLog
gcc/fortran/ChangeLog
gcc/go/ChangeLog
gcc/m2/ChangeLog
gcc/rust/ChangeLog
gcc/testsuite/ChangeLog
include/ChangeLog
libgcc/ChangeLog
libgomp/ChangeLog
libitm/ChangeLog
libstdc++-v3/ChangeLog

index a2e36c2172982c03ae1e4bf810e9da08ab648258..bd0d51be0eb99b4fb3200f9451ed54467b1a9b31 100644 (file)
--- 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
index 67fba233429bfabe02188e282d9608c16027f48b..d910cf2d4330c012c32f3b930901e76eba7281b6 100644 (file)
@@ -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.
index edb9ebf9153962926193f4d4852c5b1c26be5fcc..5128c4d9c6bdcc9eaf5a28c1d969052ddc80d89a 100644 (file)
@@ -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,
index 82fce1688754806ff55e48701b276b588aa52163..d0261d859d97bc5d8b5e32c5162408a0d4efa19b 100644 (file)
@@ -1 +1 @@
-20251212
+20251213
index ddf05c2086ee6f5b762211597198747d30a74dac..5406ae027c2a93e91f34351585e9d71f89f27db7 100644 (file)
@@ -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.
index 9ede6648c3f762a8566b9fb226d95b940cffa544..23b06b21d5906f757dd3bef2565bb25a0395d777 100644 (file)
@@ -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
index 9c3230ea5c63bb86012bad498b56f29f57214f06..7f3ec24def84e9064922b93a0f82e4073f23a12f 100644 (file)
@@ -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.
index ff22e2a9b028e24c9c63c16b13b6b113e5b987f5..3718d7ca0236002ec053bfee5dd6bbfc617df9d7 100644 (file)
@@ -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
index acf3b4605b465e2bd478087d12c38b95adc08f1b..abcd3dc0588845efbe7fbad8cc909625cf999b28 100644 (file)
@@ -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
index e22b2a6b4068eee8e8457ded18dafb97733120eb..2b37d86835af0925856e6745bdc5fe93ba0a2745 100644 (file)
@@ -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
index c270b531e2026b85c6777aa39c84953950f840a9..85f4279111b7decd3296a9883c0ec1e4aacbe813 100644 (file)
@@ -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.
index 404ee891d08580171e223ad7c9549dcdd4e9421b..17e5383b7c4bd86f7e94686c479da2fc1ea3ef17 100644 (file)
@@ -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,
index 7fc7c8bd6d6250883aa9de76a39005f595af2857..d9d291101c14a3a25acd7515ebc2d7d812c67a60 100644 (file)
@@ -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
index cbeefe91ac428f05a0564f001a2d6d290ffec8d3..16b34f1b9f02e47a53212c43d85968b774b0b5d7 100644 (file)
@@ -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
index 8bde9e367181d2dece456afe25f6193da7d2f104..999c704a611c16a117cdf32954be1f0f9cefcee4 100644 (file)
@@ -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.
index 75ba93ea261a3329c7de5d8f9744fb1c02e047db..6778efd9ef1300d83295b0486382ded6a19935e4 100644 (file)
@@ -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
index 17699850aeb5ae98a20af79d3567f9a763bb0dab..48c5a12ef222f78b3e96eca68e42d0f28aed4c47 100644 (file)
@@ -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
index f71afd7580464fbd91a7964425a8218e019416f6..81994e3a3db5dd06859405320033a2c9c9d06240 100644 (file)
@@ -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.
index 1ec4fb7231d88e90c8830a71d0b29e5f3386a4cb..9d123c647a5e6f4e958c7ade90dec1c2b2caa666 100644 (file)
@@ -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