+2025-12-17 H.J. Lu <hjl.tools@gmail.com>
+
+ PR target/122343
+ * cselib.cc (cselib_redundant_set_p): Return false for volatile
+ memory source or destination.
+
+2025-12-17 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.cc (avr_out_shift_with_cnt): Tweak
+ execution time by count-1 cycles in some cases.
+
+2025-12-17 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr-protos.h (out_shift_with_cnt): Remove.
+ * config/avr/avr.cc (avr_out_shift_with_cnt): New static
+ function from out_shift_with_cnt: Pass shift rtx_code instead
+ of asm template.
+ (avr_out_shift_1): New static helper function.
+ (ashlqi3_out, ashlhi3_out, avr_out_ashlpsi3, ashlsi3_out)
+ (ashrqi3_out, ashrhi3_out, avr_out_ashrpsi3, ashrsi3_out)
+ (lshrqi3_out, lshrhi3_out, avr_out_lshrpsi3, lshrsi3_out):
+ Adjust avr_out_shift_with_cnt to new interface.
+
+2025-12-17 Jeff Law <jeffrey.law@oss.qualcomm.com>
+
+ * config/riscv/sync.md (atomic compare and set): Reorder patterns
+ so the stricter pattern comes first.
+
+2025-12-17 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/123155
+ * config/i386/xmmintrin.h (_mm_maskmove_si64): Rename offset automatic
+ variable to __offset.
+
+2025-12-17 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/123155
+ * config/i386/avx10_2bf16intrin.h (_mm512_roundscale_pbh,
+ _mm512_mask_roundscale_pbh, _mm512_maskz_roundscale_pbh,
+ _mm256_roundscale_pbh, _mm256_mask_roundscale_pbh,
+ _mm256_maskz_roundscale_pbh, _mm_roundscale_pbh,
+ _mm_mask_roundscale_pbh, _mm_maskz_roundscale_pbh,
+ _mm512_reduce_pbh, _mm512_mask_reduce_pbh, _mm512_maskz_reduce_pbh,
+ _mm256_reduce_pbh, _mm256_mask_reduce_pbh, _mm256_maskz_reduce_pbh,
+ _mm_reduce_pbh, _mm_mask_reduce_pbh, _mm_maskz_reduce_pbh): Rename
+ B argument to __B.
+
+2025-12-17 Umesh Kalvakuntla <umesh.kalvakuntla@amd.com>
+
+ * common/config/i386/cpuinfo.h (get_amd_cpu): Add znver6 1Ah
+ family model numbers.
+ (get_available_features): Set feature AVX512BMM.
+ * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_AVX512BMM_SET):
+ New macro.
+ (OPTION_MASK_ISA2_AVX512BMM_UNSET): New macro.
+ (OPTION_MASK_ISA2_AVX512BW_UNSET): Unset AVX512BMM.
+ (ix86_handle_option): Likewise.
+ * common/config/i386/i386-cpuinfo.h (enum processor_subtypes):
+ Add AMDFAM1AH_ZNVER6.
+ (enum processor_features): Add FEATURE_AVX512BMM.
+ * common/config/i386/i386-isas.h: Likewise.
+ * config.gcc: Add avx512bmmintrin.h, avx512bmmvlintrin.h,
+ znver6.
+ * config/i386/cpuid.h (bit_AVX512BMM): New macro.
+ * config/i386/driver-i386.cc (host_detect_local_cpu): Likewise.
+ * config/i386/i386-builtin.def (BDESC): Add AVX512BMM builtins.
+ * config/i386/i386-c.cc (ix86_target_macros_internal): Likewise.
+ * config/i386/i386-isa.def (AVX512BMM): Likewise.
+ * config/i386/i386-options.cc (m_ZNVER6): New macro.
+ (m_ZNVER): Add m_ZNVER6.
+ (processor_cost_table): Uses znver5_cost table for
+ PROCESSOR_ZNVER6 for now.
+ (ix86_valid_target_attribute_inner_p): Likewise.
+ * config/i386/i386.cc (ix86_reassociation_width): Likewise.
+ * config/i386/i386.h (enum processor_type): Likewise.
+ * config/i386/i386.md: Likewise.
+ * config/i386/i386.opt: Likewise.
+ * config/i386/i386.opt.urls: Likewise.
+ * config/i386/immintrin.h: Likewise.
+ * config/i386/sse.md (avx512bmm_vbmacor16x16x16_<mode>): New
+ define_insn.
+ (avx512bmm_vbmacxor16x16x16_<mode>): Likewise.
+ (avx512bmm_vbitrevb_<mode>_mask): Likewise.
+ (avx512bmm_vbitrevb_<mode>): Likewise.
+ * config/i386/x86-tune-sched.cc (ix86_issue_rate): Likewise.
+ (ix86_adjust_cost): Likewise.
+ * config/i386/x86-tune.def (X86_TUNE_FUSE_ALU_AND_BRANCH): Add
+ m_ZNVER6.
+ (X86_TUNE_FUSE_MOV_AND_ALU): Likewise.
+ (X86_TUNE_USE_SCATTER_2PARTS): Likewise.
+ (X86_TUNE_USE_SCATTER_4PARTS): Likewise.
+ (X86_TUNE_USE_SCATTER_8PARTS): Likewise.
+ (X86_TUNE_AVOID_256FMA_CHAINS): Likewise.
+ (X86_TUNE_AVOID_512FMA_CHAINS): Likewise.
+ (X86_TUNE_AVX512_MOVE_BY_PIECES): Likewise.
+ * doc/extend.texi: Likewise.
+ * doc/invoke.texi: Likewise.
+ * config/i386/avx512bmmintrin.h: New file.
+ * config/i386/avx512bmmvlintrin.h: New file.
+
2025-12-16 Iain Sandoe <iain@sandoe.co.uk>
* config/aarch64/aarch64.cc
+2025-12-17 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * parse/rust-parse-impl-lexer.cc: Fix included file name.
+ * parse/rust-parse-impl-macro.cc: Likewise.
+ * parse/rust-parse-impl-proc-macro.cc: Likewise.
+ * parse/rust-parse-impl.h: Move to...
+ * parse/rust-parse-impl.hxx: ...here.
+
+2025-12-17 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * parse/rust-parse-impl.h (Parser::parse_inner_attributes): Move to
+ rust-parse-impl-XXX.hxx implementation file.
+ (Parser::parse_doc_comment): Likewise. Change return type to
+ AttributeBody.
+ (Parser::parse_inner_attribute): Likewise.
+ (Parser::parse_attribute_body): Likewise.
+ (Parser::parse_identifier_or_keyword_token): Likewise.
+ (Parser::parse_outer_attributes): Likewise.
+ (Parser::is_macro_rules_def): Likewise.
+ (Parser::parse_simple_path): Likewise.
+ (Parser::parse_item): Likewise.
+ (Parser::parse_simple_path_segment): Likewise.
+ (Parser::parse_path_ident_segment): Likewise.
+ (Parser::parse_vis_item): Likewise.
+ (Parser::parse_attr_input): Likewise.
+ (Parser::parse_async_item): Likewise.
+ (Parser::parse_delim_token_tree): Likewise.
+ (Parser::parse_macro_rules_def): Likewise.
+ (Parser::parse_decl_macro_def): Likewise.
+ (Parser::parse_token_tree): Likewise.
+ (Parser::parse_visibility): Likewise.
+ (Parser::parse_module): Likewise.
+ (Parser::parse_outer_attribute): Likewise.
+ (Parser::parse_extern_crate): Likewise.
+ (Parser::parse_use_decl): Likewise.
+ (Parser::parse_use_tree): Likewise.
+ (Parser::parse_function): Likewise.
+ (Parser::parse_macro_invocation): Likewise.
+ (Parser::parse_macro_rule): Likewise.
+ (Parser::parse_function_qualifiers): Likewise.
+ (Parser::parse_macro_matcher): Likewise.
+ (Parser::parse_generic_params_in_angles): Likewise.
+ (Parser::parse_macro_match): Likewise.
+ (Parser::parse_generic_param): Likewise.
+ (Parser::parse_macro_match_fragment): Likewise.
+ (Parser::parse_macro_match_repetition): Likewise.
+ (Parser::parse_generic_params): Likewise.
+ (Parser::parse_lifetime_params): Likewise.
+ (Parser::parse_lifetime_params_objs): Likewise.
+ (Parser::parse_lifetime_param): Likewise.
+ (Parser::parse_type_params): Likewise.
+ (Parser::parse_type_param): Likewise.
+ (Parser::parse_function_params): Likewise.
+ (Parser::parse_function_param): Likewise.
+ (Parser::parse_function_return_type): Likewise.
+ (Parser::parse_where_clause): Likewise.
+ (Parser::parse_lifetime_where_clause_item): Likewise.
+ (Parser::parse_for_lifetimes): Likewise.
+ (Parser::parse_type_param_bounds): Likewise.
+ (Parser::parse_type_param_bound): Likewise.
+ (Parser::parse_trait_bound): Likewise.
+ (Parser::parse_lifetime_bounds): Likewise.
+ (Parser::parse_lifetime): Likewise.
+ (Parser::lifetime_from_token): Likewise.
+ (Parser::parse_external_type_item): Likewise.
+ (Parser::parse_type_alias): Likewise.
+ (Parser::parse_struct): Likewise.
+ (Parser::parse_struct_fields): Likewise.
+ (Parser::parse_struct_field): Likewise.
+ (Parser::parse_tuple_fields): Likewise.
+ (Parser::parse_tuple_field): Likewise.
+ (Parser::parse_enum): Likewise.
+ (Parser::parse_enum_items): Likewise.
+ (Parser::parse_enum_item): Likewise.
+ (Parser::parse_union): Likewise.
+ (Parser::parse_const_item): Likewise.
+ (Parser::parse_static_item): Likewise.
+ (Parser::parse_trait): Likewise.
+ (Parser::parse_trait_item): Likewise.
+ (Parser::parse_trait_type): Likewise.
+ (Parser::parse_trait_const): Likewise.
+ (Parser::parse_impl): Likewise.
+ (Parser::parse_inherent_impl_item): Likewise.
+ (Parser::parse_trait_impl_item): Likewise.
+ (Parser::parse_extern_block): Likewise.
+ (Parser::parse_external_item): Likewise.
+ (Parser::parse_stmt): Likewise.
+ (Parser::parse_let_stmt): Likewise.
+ (Parser::parse_generic_arg): Likewise.
+ (Parser::parse_path_generic_args): Likewise.
+ (Parser::parse_generic_args_binding): Likewise.
+ (Parser::parse_self_param): Likewise.
+ (Parser::parse_expr_stmt): Likewise.
+ (Parser::parse_anon_const): Likewise.
+ (Parser::parse_const_block_expr): Likewise.
+ (Parser::parse_grouped_expr): Likewise.
+ (Parser::parse_type_path): Likewise.
+ (Parser::parse_closure_expr): Likewise.
+ (Parser::parse_literal_expr): Likewise.
+ (Parser::parse_box_expr): Likewise.
+ (Parser::parse_return_expr): Likewise.
+ (Parser::parse_try_expr): Likewise.
+ (Parser::parse_break_expr): Likewise.
+ (Parser::parse_continue_expr): Likewise.
+ (Parser::parse_type_path_segment): Likewise.
+ (Parser::parse_loop_label): Likewise.
+ (Parser::parse_type_path_function): Likewise.
+ (Parser::parse_if_expr): Likewise.
+ (Parser::parse_path_in_expression): Likewise.
+ (Parser::parse_path_expr_segment): Likewise.
+ (Parser::parse_if_let_expr): Likewise.
+ (Parser::parse_loop_expr): Likewise.
+ (Parser::parse_qualified_path_in_type): Likewise.
+ (Parser::parse_labelled_loop_expr): Likewise.
+ (Parser::parse_match_expr): Likewise.
+ (Parser::parse_match_arm): Likewise.
+ (Parser::parse_match_arm_patterns): Likewise.
+ (Parser::parse_async_block_expr): Likewise.
+ (Parser::parse_array_expr): Likewise.
+ (Parser::parse_closure_param): Likewise.
+ (Parser::parse_type): Likewise.
+ (Parser::parse_paren_prefixed_type): Likewise.
+ (Parser::parse_for_prefixed_type): Likewise.
+ (Parser::parse_maybe_named_param): Likewise.
+ (Parser::parse_reference_type_inner): Likewise.
+ (Parser::parse_reference_type): Likewise.
+ (Parser::parse_raw_pointer_type): Likewise.
+ (Parser::parse_slice_or_array_type): Likewise.
+ (Parser::parse_type_no_bounds): Likewise.
+ (Parser::parse_paren_prefixed_type_no_bounds): Likewise.
+ (Parser::parse_literal_or_range_pattern): Likewise.
+ (Parser::parse_range_pattern_bound): Likewise.
+ (Parser::parse_pattern): Likewise.
+ (Parser::parse_pattern_no_alt): Likewise.
+ (Parser::parse_reference_pattern): Likewise.
+ (Parser::parse_grouped_or_tuple_pattern): Likewise.
+ (Parser::parse_slice_pattern): Likewise.
+ (Parser::parse_identifier_pattern): Likewise.
+ (Parser::parse_ident_leading_pattern): Likewise.
+ (Parser::parse_struct_pattern_elems): Likewise.
+ (Parser::parse_struct_pattern_field): Likewise.
+ (Parser::unexpected_token): Likewise.
+ (Parser::skip_after_semicolon): Likewise.
+ (Parser::skip_token): Likewise.
+ (Parser::maybe_skip_token): Likewise.
+ (Parser::expect_token): Likewise.
+ (Parser::skip_after_end): Likewise.
+ (Parser::skip_after_end_block): Likewise.
+ (Parser::skip_after_next_block): Likewise.
+ (Parser::skip_after_end_attribute): Likewise.
+ (Parser::done_end_or_else): Likewise.
+ (Parser::done_end): Likewise.
+ * parse/rust-parse.h: Change function return type to AttributeBody
+ instead of a tuple (parse_doc_comment). Move enum binding powers from
+ impl file.
+ * parse/rust-parse-impl-attribute.hxx: New file.
+ * parse/rust-parse-impl-macro.hxx: New file.
+ * parse/rust-parse-impl-path.hxx: New file.
+ * parse/rust-parse-impl-pattern.hxx: New file.
+ * parse/rust-parse-impl-ttree.hxx: New file.
+ * parse/rust-parse-impl-utils.hxx: New file.
+ * parse/rust-parse-impl-expr.hxx: New file.
+
+2025-12-17 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * parse/rust-parse-impl.h (can_tok_start_type): Move function from ...
+ * parse/rust-parse-utils.h (can_tok_start_type): ... to here.
+
+2025-12-17 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * parse/rust-parse-impl.h (is_right_angle_tok): Move function ...
+ (Parser::parse_generic_params_in_angles): Change call.
+ (Parser::parse_for_lifetimes): Likewise.
+ (Parser::parse_path_generic_args): Likewise.
+ * parse/rust-parse-utils.h (is_right_angle_tok): ... to here.
+
+2025-12-17 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * rust-session-manager.cc (Session::enable_dump): Rework error message
+ and remove magic value.
+ (Session::handle_excluded_node): Remove static buffer size.
+
+2025-12-17 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * ast/rust-ast-collector.cc (TokenCollector::begin_describe_node):
+ Remove function.
+ (TokenCollector::end_describe_node): Likewise.
+ (TokenCollector::describe_node): Remove calls to begin/end.
+ * ast/rust-ast-collector.h: Specialize begin and end collect items. Add
+ more constructors to begin/end description.
+ * ast/rust-ast-dump.cc (Dump::Dump): Adapt to new configuration
+ options.
+ * ast/rust-ast-dump.h: Add new configuration options.
+ * rust-session-manager.cc (Session::dump_ast_pretty_internal): Use new
+ configuration options.
+
+2025-12-17 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * ast/rust-ast-collector.cc (TokenCollector::comment): Use comment kind
+ (TokenCollector::begin_internal_comment): Rename from this...
+ (TokenCollector::begin_describe_node): ... to this.
+ (TokenCollector::end_internal_comment): Rename from this...
+ (TokenCollector::end_describe_node): ... to this.
+ (TokenCollector::internal_comment): Rename from this...
+ (TokenCollector::describe_node): ... to this.
+ (TokenCollector::visit): Change name in function calls.
+ (TokenCollector::visit_closure_common): Likewise.
+ (TokenCollector::visit_loop_common): Likewise.
+ * ast/rust-ast-collector.h: Adapt function prototypes, add a new
+ collect item kind for node description.
+
+2025-12-17 Benjamin Thos <benjamin.thos@epita.fr>
+
+ * ast/rust-ast-collector.cc (TokenCollector::internal_comment):
+ Wrapper function to add both comment.
+ (TokenCollector::visit): call of the wrapper function.
+ (TokenCollector::visit_closure_common): Same.
+ (TokenCollector::visit_loop_common): Same.
+ * ast/rust-ast-collector.h: Prototype of the wrapper function
+
+2025-12-17 Benjamin Thos <benjamin.thos@epita.fr>
+
+ * ast/rust-ast-collector.cc (TokenCollector::begin_internal_comment):
+ Change a boolean with an enum.
+ (TokenCollector::end_internal_comment): Likewise.
+ * ast/rust-ast-collector.h: Likewise + change include.
+ * ast/rust-ast-dump.cc (Dump::Dump): Change variable name.
+ * ast/rust-ast-dump.h: Likewise + replace vector with a set.
+ * rust-session-manager.cc (Session::enable_dump): Change variable
+ name.
+ (Session::handle_internal_blacklist): Change function name.
+ (Session::handle_excluded_node): Likewise.
+ (Session::dump_ast_pretty_internal): Change vector with a set.
+ * rust-session-manager.h (struct CompileOptions): Likewise + change
+ variable name.
+
+2025-12-17 Benjamin Thos <benjamin.thos@epita.fr>
+
+ * ast/rust-ast-collector.cc (TokenCollector::begin_internal_comment):
+ Add internal comment to print node beginning.
+ (TokenCollector::end_internal_comment): Add internal comment to print
+ node end.
+ (TokenCollector::visit): Add the comments of the node visited.
+ (TokenCollector::visit_closure_common): Likewise.
+ (TokenCollector::visit_loop_common): Likewise.
+ * ast/rust-ast-collector.h: Add internal comment as a nes Kind.
+ * ast/rust-ast-dump.cc (Dump::Dump): add a Dump constructor to enable
+ internal.
+ * ast/rust-ast-dump.h: Add printing of internal comment in the dump
+ * rust-session-manager.cc (Session::enable_dump): Activate ast dump
+ and fill the blacklist.
+ (Session::handle_internal_blacklist): Parse the flag to get node to
+ be blacklisted.
+ (Session::compile_crate): Launch ast dump internal when asked.
+ (Session::dump_ast_pretty_internal): Call the visitor to dump
+ the internals.
+ * rust-session-manager.h (struct CompileOptions): add Interal in
+ Dump option enum.
+
+2025-12-17 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * ast/rust-expr.h: Use path locus.
+
+2025-12-17 Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>
+
+ * parse/rust-parse-impl.h (Parser::parse_inner_attributes): Change
+ return type to avoid empty/error values that may break invariants in
+ the AST.
+ (Parser::parse_inner_attribute): Likewise.
+ (Parser::parse_outer_attribute): Likewise.
+ (Parser::parse_outer_attributes): Likewise.
+ (Parser::parse_attribute_body): Likewise.
+ (Parser::parse_simple_path): Likewise.
+ (Parser::parse_macro_invocation): Likewise.
+ (Parser::parse_visibility): Likewise.
+ (Parser::parse_use_tree): Likewise.
+ (Parser::parse_delim_token_tree): Likewise.
+ (Parser::parse_identifier_or_keyword_token): Likewise.
+ (Parser::parse_token_tree): Likewise.
+ (Parser::parse_macro_rules_def): Likewise.
+ (Parser::parse_decl_macro_def): Likewise.
+ (Parser::parse_macro_invocation): Likewise.
+ (Parser::parse_macro_rule): Likewise.
+ (Parser::parse_macro_matcher): Likewise.
+ (Parser::parse_type_path_segment): Likewise.
+ (Parser::parse_path_expr_segment): Likewise.
+ (Parser::parse_type): Likewise.
+ (Parser::parse_type_no_bounds): Likewise.
+ (Parser::parse_items): Circumvent GCC 5 to 7 bug.
+ (is_simple_path_segment): Move to utility file.
+ (token_id_matches_delims): Likewise.
+ (is_likely_path_next): Remove unused function.
+ (Parser::parse_attr_input): Return a structure instead of a tuple.
+ * expand/rust-macro-builtins-offset-of.cc: Adapt call to expected.
+ * ast/rust-ast.cc (AttributeParser::parse_path_meta_item): Use empty
+ vector when an error is encountered.
+ * expand/rust-macro-builtins-include.cc: Likewise.
+ * parse/rust-parse.h: Update prototypes.
+ * parse/rust-parse-impl-proc-macro.cc: Likewise.
+ * ast/rust-ast.h: Remove error state from Visibility.
+ * ast/rust-item.h: Use private visibility instead of error.
+ * ast/rust-macro.h: Likewise.
+ * expand/rust-macro-expand.cc: Likewise.
+ * hir/rust-ast-lower.cc: Remove error case.
+ * rust-session-manager.cc: Use private visibility
+ * parse/rust-parse-utils.h: New file.
+ * parse/rust-parse-error.h: New file.
+
2025-12-12 Pietro Monteiro <pietro@sociotechnical.xyz>
* lang.opt.urls: Regenerate.
+2025-12-17 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/version.def (constexpr_exceptions): Add
+ cxx11abi=yes.
+ * include/bits/version.h: Regenerate.
+ * testsuite/18_support/exception/version.cc: Require effectiove
+ target cxx11_abi.
+ * testsuite/18_support/exception_ptr/exception_ptr_cast.cc: Only
+ check for constexpr support in cxx11 ABI.
+ * testsuite/19_diagnostics/headers/stdexcept/version.cc: Require
+ effective target cxx11_abi.
+ * testsuite/19_diagnostics/logic_error/constexpr.cc: Likewise.
+ * testsuite/19_diagnostics/runtime_error/constexpr.cc: Likewise.
+ * testsuite/20_util/expected/version.cc: Only check for
+ __cpp_lib_constexpr_exceptions macro for cxx11 ABI.
+ * testsuite/20_util/optional/version.cc: Likewise.
+ * testsuite/20_util/variant/version.cc: Likewise.
+
+2025-12-17 Jonathan Wakely <jwakely@redhat.com>
+ Jakub Jelinek <jakub@redhat.com>
+
+ * include/bits/random.h [!__SIZEOF_INT128__] (__rand_uint128):
+ Refactor and rename _Select_uint_least_t<128>::type to a new
+ class. Make all members constexpr. Add new member functions for
+ additional arithmetic and bitwise operations, and comparisons.
+ (__detail::_Select_uint_least_t<>::type): Define as an alias of
+ __rand_uint128.
+ * include/bits/random.tcc (philox_engine::_M_mulhi): Use
+ _Select_uint_least_t<w*2>::type instead of __uint128_t.
+ (philox_engine::_M_transition): Likewise.
+ * include/bits/version.def (philox_engine): Remove extra_cond.
+ * include/bits/version.h: Regenerate.
+ * testsuite/26_numerics/random/philox4x32.cc: Remove
+ dg-require-cpp-feature-test directive.
+ * testsuite/26_numerics/random/philox4x64.cc: Likewise.
+ * testsuite/26_numerics/random/philox_engine/cons/copy.cc:
+ Likewise.
+ * testsuite/26_numerics/random/philox_engine/cons/default.cc:
+ Likewise.
+ * testsuite/26_numerics/random/philox_engine/cons/seed.cc:
+ Likewise.
+ * testsuite/26_numerics/random/philox_engine/operators/equal.cc:
+ Likewise.
+ * testsuite/26_numerics/random/philox_engine/operators/serialize.cc:
+ Likewise.
+ * testsuite/26_numerics/random/philox_engine/requirements/constants.cc:
+ Likewise.
+ * testsuite/26_numerics/random/philox_engine/requirements/typedefs.cc:
+ Likewise.
+
+2025-12-17 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/26_numerics/random/uniform_real_distribution/operators/64351.cc:
+ Add -fexcess-precision=standard to options.
+ * testsuite/26_numerics/random/uniform_real_distribution/operators/gencanon.cc:
+ Likewise.
+
+2025-12-17 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/26_numerics/random/uniform_real_distribution/operators/64351.cc
+ [_GLIBCXX_USE_OLD_GENERATE_CANONICAL]: Restore test01. Do not discard an
+ extra value in test02.
+ * testsuite/26_numerics/random/uniform_real_distribution/operators/gencanon.cc:
+ Skip if _GLIBCXX_USE_OLD_GENERATE_CANONICAL is defined in options.
+
+2025-12-17 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/random.h [!_GLIBCXX_USE_OLD_GENERATE_CANONICAL]
+ (generate_canonical): Use inline namespace _V2.
+ * include/bits/random.tcc [!_GLIBCXX_USE_OLD_GENERATE_CANONICAL]
+ (generate_canonical): Likewise.
+ * testsuite/26_numerics/random/pr60037-neg.cc: Remove lineno so
+ that one dg-error matches both diagnostics.
+
+2025-12-17 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/random.tcc [_GLIBCXX_USE_OLD_GENERATE_CANONICAL]
+ (generate_canonical): Restore braces around statement.
+
+2025-12-17 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ * include/bits/random.tcc (generate_canonical)
+ [!_GLIBCXX_USE_OLD_GENERATE_CANONICAL]: Use static_assert
+ instead of type-constraint on template parameter.
+ * testsuite/26_numerics/random/pr60037-neg.cc: Updated line
+ of error.
+
+2025-12-17 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ * include/bits/random.tcc (generate_canonical): Update
+ error message to match pre-existing one in random.h.
+ * testsuite/26_numerics/random/pr60037-neg.cc: Updated
+ line for error message.
+
+2025-12-17 Jakub Jelinek <jakub@redhat.com>
+
+ * include/bits/random.tcc (std::generate_canonical): Use
+ __extension__ before __generate_canonical_{pow2,any} calls with
+ unsigned __int128 template arguments.
+
+2025-12-17 Tomasz Kamiński <tkaminsk@redhat.com>
+
+ * include/bits/atomic_base.h
+ (__atomic_ref_base<const _Tp>::__atomic_ref_base): Accept
+ pointer instead of reference. Remove precondition check and
+ mark as noexcept.
+ (__atomic_ref_base<_Tp>::__atomic_ref_base): Accept pointer
+ insted of reference, and mark as noexcept.
+ * include/std/atomic (atomic_ref::atomic_ref(_Tp&)): Add
+ precondition check and take address of argument.
+ (atomic_ref::atomic_ref(_Tp&&)): Define as deleted.
+ (atomic_ref::atomic_ref(atomic_ref<_Up>)): Define.
+ * include/bits/shared_ptr_atomic.h (_Sp_atomic::_Atomic_count):
+ Pass address to __atomic_ref constructor.
+ * include/std/barrier (__tree_barrier_base::_M_arrive)
+ (__tree_barrier::arrive): Pass address to __atomic_ref constructor.
+ * testsuite/29_atomics/atomic_ref/ctor.cc: New test.
+
2025-12-16 Jonathan Wakely <jwakely@redhat.com>
* include/std/type_traits (_Integer_kind): New enum type.