+2025-12-16 Iain Sandoe <iain@sandoe.co.uk>
+
+ * config/aarch64/aarch64.cc
+ (aarch64_function_abi): Use checking assert.
+ (aarch64_fndecl_abi): Test for the availability of the
+ machine content before trying to look up the cached PCS.
+ Use a checking assert.
+
+2025-12-16 Jose E. Marchesi <jose.marchesi@oracle.com>
+
+ * common.opt.urls: Regenerate.
+
+2025-12-16 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
+
+ * config/xtensa/xtensa.cc (xtensa_expand_scc_SALT):
+ New sub-function that emits the SALT/SALTU instructions.
+ (xtensa_expand_scc): Change the part related to the SALT/SALTU
+ instructions to a call to the above sub-function.
+
+2025-12-16 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
+
+ * config/xtensa/xtensa.cc
+ (xtensa_expand_block_set_libcall,
+ xtensa_expand_block_set_unrolled_loop,
+ xtensa_expand_block_set_small_loop, xtensa_call_tls_desc):
+ Change the return statement to pass the return value of
+ end_sequence() directly without going through a variable, and
+ remove the definition of that variable.
+
+2025-12-16 Claudiu Zissulescu <claudiu.zissulescu-ianculescu@oracle.com>
+ Indu Bhagat <indu.bhagat@oracle.com>
+
+ * config/aarch64/aarch64.md (addg): Update pattern to use
+ addg/subg instructions.
+ (stg): Update pattern.
+ (st2g): New pattern.
+ (tag_memory): Likewise.
+ (compose_tag): Likewise.
+ (irq): Update pattern to accept xzr register.
+ (gmi): Likewise.
+ (UNSPECV_TAG_SPACE): Define.
+ * config/aarch64/aarch64.cc (AARCH64_MEMTAG_GRANULE_SIZE):
+ Define.
+ (AARCH64_MEMTAG_TAG_BITSIZE): Likewise.
+ (aarch64_override_options_internal): Error out if MTE instructions
+ are not available.
+ (aarch64_post_cfi_startproc): Emit .cfi_mte_tagged_frame.
+ (aarch64_can_tag_addresses): Add MEMTAG specific handling.
+ (aarch64_memtag_tag_bitsize): New function
+ (aarch64_memtag_granule_size): Likewise.
+ (aarch64_memtag_insert_random_tag): Likwise.
+ (aarch64_memtag_add_tag): Likewise.
+ (aarch64_memtag_extract_tag): Likewise.
+ (aarch64_granule16_memory_address_p): Likewise.
+ (aarch64_emit_stxg_insn): Likewise.
+ (aarch64_memtag_tag_memory_via_loop): New definition.
+ (aarch64_expand_tag_memory): Likewise.
+ (aarch64_check_memtag_ops): Likewise.
+ (TARGET_MEMTAG_TAG_BITSIZE): Likewise.
+ (TARGET_MEMTAG_GRANULE_SIZE): Likewise.
+ (TARGET_MEMTAG_INSERT_RANDOM_TAG): Likewise.
+ (TARGET_MEMTAG_ADD_TAG): Likewise.
+ (TARGET_MEMTAG_EXTRACT_TAG): Likewise.
+ * config/aarch64/aarch64-builtins.cc
+ (aarch64_expand_builtin_memtag): Update set tag builtin logic.
+ * config/aarch64/aarch64-linux.h: Pass memtag-stack sanitizer
+ specific options to the linker.
+ * config/aarch64/aarch64-protos.h
+ (aarch64_granule16_memory_address_p): New prototype.
+ (aarch64_check_memtag_ops): Likewise.
+ (aarch64_expand_tag_memory): Likewise.
+ * config/aarch64/constraints.md (Umg): New memory constraint.
+ (Uag): New constraint.
+ (Ung): Likewise.
+ * config/aarch64/predicates.md (aarch64_memtag_tag_offset):
+ Refactor it.
+ (aarch64_granule16_imm6): Rename from aarch64_granule16_uimm6 and
+ refactor it.
+ (aarch64_granule16_memory_operand): New constraint.
+ * config/aarch64/iterators.md (MTE_PP): New code iterator to be
+ used for mte instructions.
+ (stg_ops): New code attributes.
+ (st2g_ops): Likewise.
+ (mte_name): Likewise.
+ * config/aarch64/aarch64.opt (aarch64-tag-memory-loop-threshold):
+ New parameter.
+ * doc/invoke.texi: Update documentation.
+
+2025-12-16 Claudiu Zissulescu <claudiu.zissulescu-ianculescu@oracle.com>
+ Indu Bhagat <indu.bhagat@oracle.com>
+
+ * asan.cc (handle_builtin_stack_restore): Accommodate MEMTAG
+ sanitizer.
+ (handle_builtin_alloca): Expand differently if MEMTAG sanitizer.
+ (get_mem_refs_of_builtin_call): Include MEMTAG along with
+ HWASAN.
+ (memtag_sanitize_stack_p): New definition.
+ (memtag_sanitize_allocas_p): Likewise.
+ (memtag_memintrin): Likewise.
+ (hwassist_sanitize_p): Likewise.
+ (hwassist_sanitize_stack_p): Likewise.
+ (report_error_func): Include MEMTAG along with HWASAN.
+ (build_check_stmt): Likewise.
+ (instrument_derefs): MEMTAG too does not deal with globals yet.
+ (instrument_builtin_call): Include MEMTAG along with HWASAN.
+ (maybe_instrument_call): Likewise.
+ (asan_expand_mark_ifn): Likewise.
+ (asan_expand_check_ifn): Likewise.
+ (asan_expand_poison_ifn): Expand differently if MEMTAG sanitizer.
+ (asan_instrument): Include MEMTAG along with HWASAN.
+ (hwasan_emit_prologue): Expand differently if MEMTAG sanitizer.
+ (hwasan_emit_untag_frame): Likewise.
+ * asan.h (memtag_sanitize_stack_p): New declaration.
+ (memtag_sanitize_allocas_p): Likewise.
+ (hwassist_sanitize_p): Likewise.
+ (hwassist_sanitize_stack_p): Likewise.
+ (asan_sanitize_use_after_scope): Include MEMTAG along with
+ HWASAN.
+ * cfgexpand.cc (align_local_variable): Likewise.
+ (expand_one_stack_var_at): Likewise.
+ (expand_stack_vars): Likewise.
+ (expand_one_stack_var_1): Likewise.
+ (init_vars_expansion): Likewise.
+ (expand_used_vars): Likewise.
+ (pass_expand::execute): Likewise.
+ * gimplify.cc (asan_poison_variable): Likewise.
+ * internal-fn.cc (expand_HWASAN_ALLOCA_POISON): New definition.
+ (expand_HWASAN_ALLOCA_UNPOISON): Expand differently if MEMTAG
+ sanitizer.
+ (expand_HWASAN_MARK): Likewise.
+ * internal-fn.def (HWASAN_ALLOCA_POISON): Define new.
+ * params.opt: Document new param.
+ * sanopt.cc (pass_sanopt::execute): Include MEMTAG along with
+ HWASAN.
+ * gcc.cc (sanitize_spec_function): Add check for memtag-stack.
+ * doc/tm.texi: Regenerate.
+ * target.def (extract_tag): Update documentation.
+ (add_tag): Likewise.
+ (insert_random_tag): Likewise.
+
+2025-12-16 Indu Bhagat <indu.bhagat@oracle.com>
+ Claudiu Zissulescu <claudiu.zissulescu-ianculescu@oracle.com>
+
+ * builtins.def: Adjust the macro to include the new
+ SANTIZIE_MEMTAG_STACK.
+ * flag-types.h (enum sanitize_code): Add new enumerator for
+ SANITIZE_MEMTAG and SANITIZE_MEMTAG_STACK.
+ * opts.cc (finish_options): memtag-stack sanitizer conflicts with
+ hwaddress and address sanitizers.
+ (sanitizer_opts): Add new memtag-stack sanitizer.
+ (parse_sanitizer_options): memtag-stack sanitizer cannot recover.
+ * params.opt: Add new params for memtag-stack sanitizer.
+ * doc/invoke.texi: Update documentation.
+
+2025-12-16 Claudiu Zissulescu <claudiu.zissulescu-ianculescu@oracle.com>
+
+ * target-insns.def (compose_tag): New target instruction.
+ * doc/md.texi (compose_tag): Add documentation.
+
+2025-12-16 Claudiu Zissulescu <claudiu.zissulescu-ianculescu@oracle.com>
+
+ * target-insns.def (tag_memory): New target instruction.
+ * doc/md.texi (tag_memory): Add documentation.
+
+2025-12-16 Jennifer Schmitz <jschmitz@nvidia.com>
+
+ * config/aarch64/aarch64.md: Include olympus.md.
+ * config/aarch64/olympus.md: New file.
+ * config/aarch64/tuning_models/olympus.h: Add dispatch
+ constraints and enable dispatch scheduling.
+
+2025-12-16 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
+
+ * haifa-sched.cc (choose_ready): Don't require dfa_lookahead <= 0
+ to schedule SCHED_GROUP_P insns first.
+
+2025-12-16 Richard Biener <rguenther@suse.de>
+
+ PR ipa/122456
+ * cgraph.cc (cgraph_edge::resolve_speculation): Handle
+ a NULL symtab_node::get (callee_decl).
+
+2025-12-16 Andrew Pinski <andrew.pinski@oss.qualcomm.com>
+
+ PR tree-optimization/123110
+ * tree-cfgcleanup.cc (maybe_remove_forwarder_block): Add back
+ check for eh landing pad or non-local dest on the dest.
+
+2025-12-16 Andrew Pinski <andrew.pinski@oss.qualcomm.com>
+
+ PR tree-optimization/123111
+ * tree-cfg.cc (ifconvertable_edge): New function.
+ (make_forwarders_with_degenerate_phis): Add skip_ifcvtable argument,
+ check ifconvertable_edge if skip_ifcvtable is true.
+ * tree-cfg.h (make_forwarders_with_degenerate_phis): New argument
+ with default of false.
+ * tree-cfgcleanup.cc (execute_cleanup_cfg_post_optimizing): Update
+ argument to make_forwarders_with_degenerate_phis.
+
2025-12-15 Martin Jambor <mjambor@suse.cz>
PR ipa/107666
+2025-12-16 Jose E. Marchesi <jose.marchesi@oracle.com>
+
+ * a68-parser-bottom-up.cc (reduce_prelude_packet): Do not support
+ multiple module definitions per packet.
+
+2025-12-16 Jose E. Marchesi <jose.marchesi@oracle.com>
+
+ * lang.opt.urls: Regenerate.
+
+2025-12-16 Jose E. Marchesi <jose.marchesi@oracle.com>
+
+ * lang.opt (-fmodules-map): New option.
+ (-fmodules-map-file): Likewise.
+ * a68.h: Add prototype for a68_process_module_map.
+ * a68-imports.cc (SKIP_WHITESPACES): Define.
+ (PARSE_BASENAME): Likewise.
+ (PARSE_INDICANT): Likewise.
+ (a68_process_module_map): New function.
+ * a68-lang.cc: (a68_init): Move initialization of
+ A68_MODULE_FILES from there...
+ (a68_init_options): to here.
+ (a68_handle_option): Handle OPT_fmodules_map and
+ OPT_fmodules_map_.
+ * a68-parser-pragmat.cc (handle_access_in_pragmat): Normalize
+ module indicants to upper case.
+ * ga68.texi (Module search options): New section.
+
+2025-12-16 Jose E. Marchesi <jose.marchesi@oracle.com>
+
+ * a68.h: Prototypes for a68_get_file_size and a68_file_read.
+ * a68-parser-scanner.cc (a68_file_size): New function.
+ (a68_file_read): Renamed from io_read.
+ (get_source_size): Deleted function.
+ (include_files): Use a68_file_size and a68_file_read.
+
+2025-12-16 Mohammad-Reza Nabipoor <mnabipoor@gnu.org>
+
+ * a68-imports.cc (dump_encoded_mode): Replace "basic" with
+ "string".
+
2025-12-15 Mohammad-Reza Nabipoor <mnabipoor@gnu.org>
* ga68-exports.pk (ga68_text_reloc_64): Renamed and
+2025-12-16 David Malcolm <dmalcolm@redhat.com>
+
+ PR analyzer/123136
+ * engine.cc
+ (strongly_connected_components::strongly_connected_components):
+ Consistently use size_t.
+ (strongly_connected_components::dump): Likewise.
+ (strongly_connected_components::to_json): Likewise.
+ (exploded_graph::print_bar_charts): Likewise.
+ (exploded_path::feasible_p): Remove unused locals.
+ (exploded_graph_annotator::exploded_graph_annotator): Use size_t
+ for iterator var.
+ (impl_run_checkers): Drop logger param of engine ctor.
+ * ops.cc (phis_for_edge_op::maybe_make): Drop unused param of
+ phis_for_edge_op ctor.
+ (phis_for_edge_op::phis_for_edge_op): Likewise.
+ * ops.h (operation::~operation): Make virtual.
+ (control_flow_op::dyn_cast_control_flow_op): Add "final override".
+ (phis_for_edge_op::phis_for_edge_op): Drop unused param.
+ (phis_for_edge_op::m_cfg_in_edge): Drop unused field.
+ * region-model.cc (engine::engine): Drop unused "logger" param.
+ * region-model.h (engine::engine): Likewise.
+ * supergraph-fixup-locations.cc (location_fixer::location_fixer):
+ Drop m_sg field.
+ (location_fixer::m_sg): Drop unused field.
+ (location_fixer::m_purge_map): Drop unused field.
+ * supergraph-sorting.cc (class sorting_worklist): Drop unused
+ m_worklist field.
+
+2025-12-16 David Malcolm <dmalcolm@redhat.com>
+
+ * supergraph.cc (supernode::dump_dot): Escape filename.
+
+2025-12-16 David Malcolm <dmalcolm@redhat.com>
+
+ PR analyzer/122003
+ * checker-event.cc (return_event::get_program_state): New.
+ * checker-event.h (return_event::get_program_state): New decl.
+
2025-12-15 David Malcolm <dmalcolm@redhat.com>
PR analyzer/123085
+2025-12-16 Jose E. Marchesi <jose.marchesi@oracle.com>
+
+ PR algol68/123131
+ * algol68/compile/modules/compile.exp: Pass module include path
+ via extra_flags to algol68-dg-runtest.
+ * algol68/execute/modules/execute.exp: Pass module include path
+ via algol68_compile_args.
+ * lib/algol68-dg.exp (MODULES_OPTIONS): Delete.
+ (algol68-dg-runtest): Do not use MODULE_OPTIONS.
+ * lib/algol68-torture.exp (BUILT_MODULES_DIR): Delete.
+ (algol68-torture-execute): Do not use BUILT_MODULES_DIR.
+
+2025-12-16 David Malcolm <dmalcolm@redhat.com>
+
+ PR diagnostics/123142
+ * gcc.dg/plugin/diagnostic-test-graphs-html.c: Add
+ dg-require-dot directive.
+
+2025-12-16 Jose E. Marchesi <jose.marchesi@oracle.com>
+
+ * algol68/compile/error-compile-unknown-tag-1.a68: Use a single
+ module per packet.
+ * algol68/compile/error-module-coercions-1.a68: Likewise.
+ * algol68/compile/error-module-ranges-1.a68: Likewise.
+ * algol68/compile/module-2.a68: Likewise.
+ * algol68/compile/module-pub-mangling-1.a68: Likewise.
+ * algol68/compile/module-pub-mangling-2.a68: Likewise.
+ * algol68/compile/module-pub-mangling-3.a68: Likewise.
+ * algol68/compile/module-pub-mangling-4.a68: Likewise.
+ * algol68/compile/module-pub-mangling-5.a68: Likewise.
+ * algol68/compile/module-pub-mangling-6.a68: Likewise.
+ * algol68/compile/warning-module-hidding-1.a68: Likewise.
+
+2025-12-16 Jose E. Marchesi <jose.marchesi@oracle.com>
+
+ * algol68/execute/modules/Modules20.map: New file.
+ * algol68/execute/modules/module-bar.a68: New file.
+ * algol68/execute/modules/module-foo.a68: New file.
+ * algol68/execute/modules/program-19.a68: New file.
+ * algol68/execute/modules/program-20.a68: New file.
+
+2025-12-16 Richard Biener <rguenther@suse.de>
+
+ PR testsuite/123137
+ * g++.dg/vect/pr64410.cc: Add -mfpmath=sse -msse on x86.
+
+2025-12-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gcc.target/i386/shift-gf2p8affine-2.c: Skip on Solaris
+ without gas.
+
+2025-12-16 Claudiu Zissulescu <claudiu.zissulescu-ianculescu@oracle.com>
+ Indu Bhagat <indu.bhagat@oracle.com>
+
+ * gcc.target/aarch64/memtag/alloca-1.c: New test.
+ * gcc.target/aarch64/memtag/alloca-2.c: New test.
+ * gcc.target/aarch64/memtag/alloca-3.c: New test.
+ * gcc.target/aarch64/memtag/arguments-1.c: New test.
+ * gcc.target/aarch64/memtag/arguments-2.c: New test.
+ * gcc.target/aarch64/memtag/arguments-3.c: New test.
+ * gcc.target/aarch64/memtag/arguments-4.c: New test.
+ * gcc.target/aarch64/memtag/arguments.c: New test.
+ * gcc.target/aarch64/memtag/basic-1.c: New test.
+ * gcc.target/aarch64/memtag/basic-3.c: New test.
+ * gcc.target/aarch64/memtag/basic-struct.c: New test.
+ * gcc.target/aarch64/memtag/large-array.c: New test.
+ * gcc.target/aarch64/memtag/local-no-escape.c: New test.
+ * gcc.target/aarch64/memtag/memtag.exp: New file.
+ * gcc.target/aarch64/memtag/no-sanitize-attribute.c: New test.
+ * gcc.target/aarch64/memtag/value-init.c: New test.
+ * gcc.target/aarch64/memtag/vararray-gimple.c: New test.
+ * gcc.target/aarch64/memtag/vararray.c: New test.
+ * gcc.target/aarch64/memtag/zero-init.c: New test.
+ * gcc.target/aarch64/memtag/texec-1.c: New test.
+ * gcc.target/aarch64/memtag/texec-2.c: New test.
+ * gcc.target/aarch64/memtag/texec-3.c: New test.
+ * gcc.target/aarch64/memtag/vla-1.c: New test.
+ * gcc.target/aarch64/memtag/vla-2.c: New test.
+ * lib/target-supports.exp (check_effective_target_aarch64_mte):
+ New function.
+ * gcc.target/aarch64/memtag/cfi-mte-memtag-frame-1.c: New file.
+ * gcc.target/aarch64/memtag/mte-sig.h: New file.
+
+2025-12-16 Claudiu Zissulescu <claudiu.zissulescu-ianculescu@oracle.com>
+ Indu Bhagat <indu.bhagat@oracle.com>
+
+ * gcc.target/aarch64/acle/memtag_1.c: Update test.
+
+2025-12-16 Andrew Pinski <andrew.pinski@oss.qualcomm.com>
+
+ PR tree-optimization/123110
+ * gcc.dg/pr123110-1.c: New test.
+
2025-12-15 Martin Jambor <mjambor@suse.cz>
* gcc.dg/lto/fnptr-from-rec-1_0.c: New test.
+2025-12-16 Pietro Monteiro <pietro@sociotechnical.xyz>
+
+ * ga68-unistr.c (_libga68_u32_cmp): Add `static' specifier.
+ * ga68.h (_libga68_u32_cmp): Remove prototype.
+
2025-11-30 Jose E. Marchesi <jose.marchesi@oracle.com>
* Makefile.am: New file.
+2025-12-16 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/std/type_traits (_Integer_kind): New enum type.
+ (__is_integral_helper::_S_kind): New static data member in
+ primary template and each explicit specialization.
+ (__is_signed_integer, __is_unsigned_integer): Use _S_kind
+ instead of O(n) disjunction with is_same.
+
+2025-12-16 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/122907
+ * include/bits/cpp_type_traits.h (__memcpyable_integer<bool>):
+ Define as false.
+ * testsuite/25_algorithms/copy/122907.cc: New test.
+
+2025-12-16 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/lib/libstdc++.exp (dg-v3-runtest) Set default_std to
+ 20.
+
+2025-12-16 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/std/chrono (chrono::__detail::__get_leap_second_info):
+ Update expiry date for leap seconds list.
+ * src/c++20/tzdb.cc (tzdb_list::_Node::_S_read_leap_seconds):
+ Likewise.
+ * src/c++20/tzdata.zi: Import new file from 2025c release.
+
+2025-12-16 Nathan Myers <ncm@cantrip.org>
+
+ PR libstdc++/119739
+ * include/bits/random.tcc: Add generate_canonical impl for C++26.
+ * testsuite/26_numerics/random/uniform_real_distribution/operators/64351.cc:
+ Adapt test for both pre- and post- C++26.
+ * testsuite/26_numerics/random/uniform_real_distribution/operators/gencanon.cc:
+ Test for float and double from 32-bit RNG, including 1.0 do-over.
+
+2025-12-16 Patrick Palka <ppalka@redhat.com>
+
+ PR libstdc++/113299
+ * include/bits/deque.tcc (__copy_move_a1): Constrain with
+ __is_any_random_access_iter instead of __is_random_access_iter.
+ (__copy_move_backward_a1): Likewise.
+ (__equal_aux1): Likewise.
+ * include/bits/stl_algo.h (__search_n): Use
+ __iter_concept_or_category instead of __iterator_category
+ or iterator_traits::iterator_category.
+ (find_end): Likewise.
+ (__is_permutation): Likewise.
+ (for_each_n): Likewise.
+ (unique_copy): Likewise, for constant iterators.
+ (sample): Likewise, for constant iterators.
+ * include/bits/stl_algobase.h (__copy_move_a1): Adjust
+ deque-based forward declaration accordingly.
+ (__copy_move_backward_a1): Likewise.
+ (__equal_aux1): Likewise.
+ (__lexicographical_compare_impl): Use
+ __iter_concept_or_category instead of __iterator_category or
+ iterator_traits::iterator_category.
+ (__equal4): Likewise.
+ * include/bits/stl_iterator_base_funcs.h
+ (__iter_concept_or_category): New.
+ (__is_any_random_access_iter): New.
+ (_GLIBCXX_ITER_MOVE): New.
+ * include/bits/stl_uninitialized.h (uninitialized_copy_n):
+ Use __iterator_concept_or_category instead of
+ __iterator_category for the constant iterator __first.
+ (__uninitialized_copy_n_pair): Likewise.
+ * include/bits/version.def (algorithm_iterator_requirements):
+ Define.
+ * include/bits/version.h: Regenerate.
+ * include/std/algorithm: Provide the FTM
+ __cpp_lib_algorithm_iterator_requirements.
+ * include/std/memory: Likewise.
+ * include/std/numeric: Likewise. Include
+ <bits/stl_iterator_base_funcs.h>.
+ (reduce): Use __is_any_random_access_iter instead of
+ __is_random_access_iter.
+ (transform_reduce): Likewise.
+ (inclusive_scan): Use _GLIBCXX_ITER_MOVE instead of std::move.
+ * testsuite/25_algorithms/find_end/c++20_iter.cc: New test.
+ * testsuite/25_algorithms/sample/c++20_iter.cc: New test.
+ * testsuite/25_algorithms/search_n/c++20_iter.cc: New test.
+ * testsuite/25_algorithms/unique_copy/c++20_iter.cc: New test.
+ * testsuite/26_numerics/inclusive_scan/c++20_iter.cc: New test.
+
2025-12-12 Luc Grosheintz <luc.grosheintz@gmail.com>
* include/std/mdspan (submdspan): Fix missing '::template'.
+2025-12-16 Pietro Monteiro <pietro@sociotechnical.xyz>
+
+ * update_web_docs_git (MANUALS): Add ga68 and ga68-internals.
+
2025-09-01 Gerald Pfeifer <gerald@pfeifer.com>
* update_web_docs_libstdcxx_git: Copy our "inner" documentation