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

commit r17-4542-gf008f03eff80fea9e8ed814c280a792cccf8fc94
Author: GCC Administrator <[email protected]>
Date:   Tue Sep 22 00:16:40 2026 +0000

    Daily bump.

Diff:
---
 gcc/ChangeLog           | 148 ++++++++++++++++++++++++++++++++++++++++++++++++
 gcc/DATESTAMP           |   2 +-
 gcc/ada/ChangeLog       |   5 ++
 gcc/algol68/ChangeLog   |  21 +++++++
 gcc/c/ChangeLog         |   5 ++
 gcc/cobol/ChangeLog     |  21 +++++++
 gcc/cp/ChangeLog        |  10 ++++
 gcc/fortran/ChangeLog   |  49 ++++++++++++++++
 gcc/m2/ChangeLog        |   9 +++
 gcc/testsuite/ChangeLog | 123 ++++++++++++++++++++++++++++++++++++++++
 libcpp/ChangeLog        |   7 +++
 libgcobol/ChangeLog     |   9 +++
 libgomp/ChangeLog       |   5 ++
 libstdc++-v3/ChangeLog  |  73 ++++++++++++++++++++++++
 14 files changed, 486 insertions(+), 1 deletion(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c7190a9517a5..e257e7d5dd3c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,151 @@
+2026-09-21  Eric Botcazou  <[email protected]>
+
+       * config/riscv/riscv.cc (riscv_flatten_aggregate_field) <ARRAY_TYPE>:
+       Perform the computation of the number of elements using the precision
+       of the index type instead of using HOST_WIDE_INT.
+
+2026-09-21  Eric Botcazou  <[email protected]>
+
+       * tree-loop-distribution.cc (loop_distribution::classify_partition):
+       Disqualify the partition for builtins it it contains nonaddressable
+       data references.
+
+2026-09-21  Eric Botcazou  <[email protected]>
+
+       * dwarf2out.h (struct array_descr_info): Add reverse_storage_order.
+       * dwarf2out.cc (gen_descr_array_type_die): Pass it in the call to
+       add_type_attribute instead of using TYPE_REVERSE_STORAGE_ORDER.
+
+2026-09-21  Ancheng.Qiao  <[email protected]>
+
+       * config/riscv/riscv.cc (riscv_expand_prologue): Fold into the
+       cm.push reserve only as many callee-saved FPRs as it can hold by
+       dividing the additional reserve by UNITS_PER_FP_REG.
+       (riscv_expand_epilogue): Likewise.
+
+2026-09-21  Matt Turner  <[email protected]>
+
+       PR middle-end/66462
+       * builtins.cc (fold_builtin_fpclassify): Expand using the
+       classification built-ins when their optabs are available.
+
+2026-09-21  Matt Turner  <[email protected]>
+
+       PR middle-end/66462
+       * config/aarch64/aarch64.md (cmp_swp_<shift>_reg<mode>): Add a
+       parameterized name.
+       (isinf<mode>2): Use GPF_HF_BF and handle the 16-bit formats.
+       (isfinite<mode>2): Likewise.
+       (isnan<mode>2): Likewise.
+
+2026-09-21  Matt Turner  <[email protected]>
+
+       PR middle-end/66462
+       * config/aarch64/aarch64.md (isnormal<mode>2): Add new expander.
+       * config/aarch64/iterators.md (GPF_HF_BF): New mode iterator.
+       (mantissa_bits): Add HF and BF.
+       (V_INT_EQUIV): Add BF.
+
+2026-09-21  Matt Turner  <[email protected]>
+
+       * config/aarch64/aarch64.md (*extend<SHORT:mode><GPI:mode>2_aarch64):
+       Guard the smov alternative with base_simd rather than fp.
+       (*zero_extend<SHORT:mode><GPI:mode>2_aarch64): Likewise for umov.
+
+2026-09-21  Matt Turner  <[email protected]>
+
+       PR middle-end/66462
+       * config/alpha/alpha-protos.h (enum alpha_fp_class): New.
+       (alpha_expand_fp_classify): Declare.
+       * config/alpha/alpha.cc (alpha_expand_fp_classify): New function.
+       * config/alpha/alpha.md (isfinite<mode>2, isinf<mode>2)
+       (isnan<mode>2, isnormal<mode>2): New expanders.
+
+2026-09-21  Richard Biener  <[email protected]>
+           Claude Opus 5  <[email protected]>
+
+       PR tree-optimization/113703
+       PR tree-optimization/127515
+       * tree-ssa-loop-ivopts.cc (iv_elimination_compare_lt): Also record
+       A + 1 when matching the number of iterations.  Convert it to OFF_TYPE
+       as a whole, compute B + 1 in OFF_TYPE and require both to be
+       non-negative scaled offsets that do not overflow.  Build the bound
+       out of them instead of A and B.
+
+2026-09-21  Alfie Richards  <[email protected]>
+
+       PR target/127494
+       * config/riscv/riscv-v.cc (autovectorize_vector_modes):
+       Restore previous behaviour.
+
+2026-09-21  Richard Biener  <[email protected]>
+
+       PR tree-optimization/127475
+       * tree-vect-loop.cc (vectorizable_induction): Use
+       signed_or_unsigned_type_for to get the step vectype.
+
+2026-09-21  Richard Biener  <[email protected]>
+
+       PR ipa/127479
+       * lto-streamer-out.cc (output_cfg): Output predecessor edges.
+       * lto-streamer-in.cc (input_cfg): Input predecessor edges.
+
+2026-09-21  Josef Melcr  <[email protected]>
+
+       PR ipa/127104
+       * internal-fn.def (ASSUME): Downgrade from const to pure.
+
+2026-09-21  Kyrylo Tkachov  <[email protected]>
+
+       * genextract.cc (locstr): Make it a string of bytes.
+       (UPPER_OFFSET, MISSING_OPERAND_CHAR): Remove.
+       (ENCODE_PATH_STEP, MISSING_OPERAND_STEP, MAX_PATH_INDEX): New macros.
+       (accum_extract::pathstr): Hold bytes.
+       (push_pathstr_operand): Encode the step as a number and check that
+       the index fits.
+       (VEC_safe_set_locstr, VEC_char_to_string, add_path, gen_insn): Update
+       for the byte paths.
+       (print_string_literal): Remove.
+       (print_extractions): Emit the paths as an array of numbers and walk
+       them without the character ranges.
+
+2026-09-21  Christophe Lyon  <[email protected]>
+
+       * configure.ac: Replace 'ret' with '$insn'.
+       * configure: Regenerate.
+
+2026-09-21  Uros Bizjak  <[email protected]>
+
+       PR target/127461
+       * config/i386/mmx.md (negv2qi2): Use optimize_size instead of
+       optimize_function_for_size_p (cfun) in the enabled attribute.
+       (<plusminus:insn>v2qi3): Ditto.
+
+2026-09-21  Artemiy Volkov  <[email protected]>
+
+       * match.pd: New rule to fold ((X >> C1) & C2) << C3.
+
+2026-09-21  Jakub Jelinek  <[email protected]>
+
+       PR target/127498
+       * config/i386/sse.md (<insn><mode>3 any_rotate:VI1_AVX512_3264): Add
+       TARGET_AVX2 to condition.
+
+2026-09-21  Kyrylo Tkachov  <[email protected]>
+
+       PR rtl-optimization/127445
+       * function.cc (gen_call_used_regs_seq): Return whether a zeroing
+       sequence was emitted.  Do not update the exit block uses here.
+       (pass_zero_call_used_regs::execute): Call
+       df_update_entry_exit_and_calls once when a sequence was emitted.
+
+2026-09-21  Naveen  <[email protected]>
+
+       PR tree-optimization/98984
+       * match.pd: Fold integer-float-integer conversions when the
+       intermediate floating-point significand covers the final integer
+       precision under -fno-trapping-math.
+
 2026-09-20  Matt Turner  <[email protected]>
 
        * config/alpha/alpha.cc (alpha_expand_movmisalign): Derive the
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index 286689204f27..e9b7161d4a77 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20260921
+20260922
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index bf5091927d5e..7696c45923e2 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,8 @@
+2026-09-21  Eric Botcazou  <[email protected]>
+
+       * gcc-interface/misc.cc (gnat_get_array_descr_info): Return the
+       TYPE_REVERSE_STORAGE_ORDER flag of the underlying array type.
+
 2026-09-08  Kael Andrew Alonzo Franco  <[email protected]>
 
        PR middle-end/126622
diff --git a/gcc/algol68/ChangeLog b/gcc/algol68/ChangeLog
index f9cb2823c7a9..653e012620a2 100644
--- a/gcc/algol68/ChangeLog
+++ b/gcc/algol68/ChangeLog
@@ -1,3 +1,24 @@
+2026-09-21  Jose E. Marchesi  <[email protected]>
+
+       * a68-parser-modes.cc (a68_resolve_equivalent): Rename from
+       resolve_equivalent and made global.
+       (resolve_eq_members): Adapt calls to resolve_equivalent
+       accordingly.
+       (resolve_eq_tags): Likewise.
+       (bind_modes): Likewise.
+       (compute_derived_modes): Likewise.
+       * a68.h: Add prototype for a68_resolve_equivalent.
+       * a68-parser-extract.cc (a68_extract_revelation): Resolve
+       equivalences in imported modes.
+
+2026-09-21  Jose E. Marchesi  <[email protected]>
+
+       * a68-parser-attrs.def (COMPLEX_SYMBOL): Remove.
+       * a68-parser-bottom-up.cc (reduce_declarers): Remove reduction of
+       COMPLEX_SYMBOL.
+       (reduce_declarers): Do not handle COMPLEX_SYMBOL.
+       * a68-parser.cc (a68_dont_mark_here): Likewise.
+
 2026-09-20  Jose E. Marchesi  <[email protected]>
 
        * a68-low-units.cc (a68_lower_denotation): strtoul can return
diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog
index 4df87ae981e9..a06e4f0653e4 100644
--- a/gcc/c/ChangeLog
+++ b/gcc/c/ChangeLog
@@ -1,3 +1,8 @@
+2026-09-21  Jakub Jelinek  <[email protected]>
+
+       * c-decl.cc (names_builtin_p): Return 1 for
+       RID_BUILTIN_BITREVERSEG and RID_BUILTIN_BSWAPG.
+
 2026-09-16  Jakub Jelinek  <[email protected]>
 
        PR c/127383
diff --git a/gcc/cobol/ChangeLog b/gcc/cobol/ChangeLog
index 66461a148bc7..1aac95e28884 100644
--- a/gcc/cobol/ChangeLog
+++ b/gcc/cobol/ChangeLog
@@ -1,3 +1,24 @@
+2026-09-21  Robert Dubner  <[email protected]>
+
+       * genapi.cc (actually_create_the_static_field): Use the
+       new expand_expanded routine.
+       * symbols.cc (expand_picture): Add space to accommodate the six
+       additional pre-processing characters.
+       (expand_expanded): Append compile-time data to the end of numeric-
+       edited PICTURE strings.
+       * symbols.h (redefined_token): Formatting.
+       (class current_tokens_t): Formatting.
+       (expand_expanded): New declaration.
+       * util.cc (cbl_field_t::encode_numeric): Use expand_expanded().
+
+2026-09-21  James K. Lowden  <[email protected]>
+
+       * parse.y: Remove unused function.
+
+2026-09-21  Xavier Del Campo Romero  <[email protected]>
+
+       * gcobc: Remove stale logic.
+
 2026-09-19  Robert Dubner  <[email protected]>
 
        * parse.y: Comment out unused passby_str() function.
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index de3b8ac93e5e..6688d9e4a28e 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,13 @@
+2026-09-21  Jakub Jelinek  <[email protected]>
+
+       PR c++/127493
+       * reflect.cc (eval_source_location_of): Call maybe_get_first_fn.
+
+2026-09-21  Jakub Jelinek  <[email protected]>
+
+       * cp-objcp-common.cc (names_builtin_p): Return 1 for
+       RID_BUILTIN_BITREVERSEG and RID_BUILTIN_BSWAPG.
+
 2026-09-20  Joshua Berne  <[email protected]>
 
        PR c++/127281
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 428e94186a12..45013116f338 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,52 @@
+2026-09-21  Mikael Morin  <[email protected]>
+
+       PR fortran/127448
+       * trans-array.cc (is_pointer_array): Remove redundant condition.
+       (is_span_addressed_array): For polymorphic arrays, return false if
+       the array is known to be contiguous.
+       * trans-types.cc (gfc_get_derived_type): Also set the
+       GFC_DECL_PTR_ARRAY_P flag for _data fields of class containers
+       corresponding to polymorphic array pointers.
+
+2026-09-21  Mikael Morin  <[email protected]>
+
+       * trans-array.cc (gfc_get_dataptr_offset): Move guess of decl
+       for span from function argument...
+       (build_array_ref): ... to function body.  Only set the decl if it
+       was empty on input and wasn't set by a previous guess.
+
+2026-09-21  Mikael Morin  <[email protected]>
+
+       * trans-array.cc (span_addressed_array): Change return type to bool
+       and rename to ...
+       (is_span_addressed_array): ... this.
+       (gfc_get_dataptr_offset): Separate the predicate from the choice
+       between NULL_TREE and the input array.
+       (gfc_get_array_span, gfc_conv_scalarized_array_ref,
+       gfc_conv_array_ref): Update callers.
+
+2026-09-21  Mikael Morin  <[email protected]>
+
+       * trans.cc (gfc_build_spanned_array_ref): Remove condition guarding
+       pointer dereference generation.
+       * trans-array.cc (gfc_get_dataptr_offset): Remove now redundant
+       pointer dereference generation.
+
+2026-09-21  Tobias Burnus  <[email protected]>
+
+       * openmp.cc (gfc_match_omp_clauses): Rename argument 'first'
+       to first_no_comma for clarity.
+       (match_omp, gfc_match_omp_allocate, gfc_match_omp_assume,
+       gfc_match_omp_assumes, gfc_match_omp_critical,
+       gfc_match_omp_depobj, gfc_match_omp_flush,
+       gfc_match_omp_declare_simd, gfc_match_omp_declare_mapper,
+       gfc_match_omp_declare_reduction, gfc_match_omp_declare_target,
+       gfc_match_omp_thread_group_private, gfc_match_omp_requires,
+       gfc_match_omp_scan, gfc_match_omp_atomic,
+       gfc_match_omp_cancel_kind, gfc_match_omp_end_nowait,
+       gfc_match_omp_end_single): Permit comma between directive name
+       and clause name.
+
 2026-09-18  Paul Thomas  <[email protected]>
 
        PR fortran/127146
diff --git a/gcc/m2/ChangeLog b/gcc/m2/ChangeLog
index 40ec0b6be7cc..19b3f92dcfdb 100644
--- a/gcc/m2/ChangeLog
+++ b/gcc/m2/ChangeLog
@@ -1,3 +1,12 @@
+2026-09-21  Gaius Mulley  <[email protected]>
+
+       PR modula2/127469
+       * gm2-compiler/M2Quads.mod (BuildConstructor): Check for
+       tok UnknownTokenNo and if not equal generate an error message
+       at tok stating the type is unknown.
+       * gm2-compiler/PCSymBuild.mod (WalkConvert): Check totype for
+       NulSym and if so return FALSE.
+
 2026-09-17  Gaius Mulley  <[email protected]>
 
        PR modula2/126174
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 2814823fae42..6d37df1278b4 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,126 @@
+2026-09-21  Eric Botcazou  <[email protected]>
+
+       * gnat.dg/array44.adb: New test.
+
+2026-09-21  Ancheng.Qiao  <[email protected]>
+
+       * gcc.target/riscv/zcmp_fpr_save_below_sp.c: New test.  Compile an
+       FP-register-heavy function at -Os with Zcmp and check that no
+       callee-saved FPR is saved at a negative offset of SP.
+
+2026-09-21  Robert Dubner  <[email protected]>
+
+       * 
cobol.dg/group2/CBL_GET_PROGRAM_INFO__get_program_name_-_functions_0_and_2_.cob:
 New test.
+       * 
cobol.dg/group2/CBL_GET_PROGRAM_INFO__get_program_name_-_functions_0_and_2_.out:
 New test.
+
+2026-09-21  Jose E. Marchesi  <[email protected]>
+
+       * algol68/execute/modules/program-28.a68: New test.
+       * algol68/execute/modules/module28.a68: New file.
+
+2026-09-21  Mikael Morin  <[email protected]>
+
+       PR fortran/127448
+       * gfortran.dg/pointer_assign_17.f90: New test.
+
+2026-09-21  Matt Turner  <[email protected]>
+
+       PR middle-end/66462
+       * gcc.target/aarch64/pr66462-2.c: New test.
+       * gcc.target/alpha/fp-classify-5.c: New test.
+       * gcc.target/alpha/fp-classify-6.c: New test.
+
+2026-09-21  Matt Turner  <[email protected]>
+
+       PR middle-end/66462
+       * gcc.target/aarch64/pr66462.c: Add _Float16 and __bf16 tests for
+       isinf, isfinite and isnan.
+
+2026-09-21  Matt Turner  <[email protected]>
+
+       PR middle-end/66462
+       * gcc.target/aarch64/pr66462.c: Add tests for isnormal, including
+       _Float16 and __bf16.
+
+2026-09-21  Matt Turner  <[email protected]>
+
+       * gcc.target/aarch64/nosimd-extend.c: New test.
+
+2026-09-21  Matt Turner  <[email protected]>
+
+       PR middle-end/66462
+       * gcc.target/alpha/fp-classify-1.c: New test.
+       * gcc.target/alpha/fp-classify-2.c: New test.
+       * gcc.target/alpha/fp-classify-3.c: New test.
+       * gcc.target/alpha/fp-classify-4.c: New test.
+
+2026-09-21  Richard Biener  <[email protected]>
+           Claude Opus 5  <[email protected]>
+
+       PR tree-optimization/113703
+       PR tree-optimization/127515
+       * gcc.dg/torture/pr113703-5.c: New test.
+       * gcc.dg/torture/pr113703-6.c: New test.
+
+2026-09-21  Richard Biener  <[email protected]>
+
+       PR tree-optimization/127475
+       * gcc.dg/vect/vect-pr127475.c: New testcase.
+
+2026-09-21  Richard Biener  <[email protected]>
+
+       PR ipa/127479
+       * gcc.dg/lto/pr127479_0.c: New testcase.
+
+2026-09-21  Uros Bizjak  <[email protected]>
+
+       PR target/127461
+       * gcc.target/i386/pr127461.c: New test.
+
+2026-09-21  Artemiy Volkov  <[email protected]>
+
+       * gcc.dg/tree-ssa/match-bit-extract-shift.c: New test.
+
+2026-09-21  Jakub Jelinek  <[email protected]>
+
+       PR c++/127493
+       * g++.dg/reflect/source_location_of1.C (struct G, struct H): New
+       types.  Add asserts for source_location_of of member function and
+       member function template.
+       * g++.dg/reflect/source_location_of2.C: Expect implicitEqLine rather
+       than 0 for line of ^^ImplicitEq::operator==.
+
+2026-09-21  Jakub Jelinek  <[email protected]>
+
+       PR target/127498
+       * gcc.target/i386/gfni-pr127498.c: New test.
+       * gcc.target/i386/shift-gf2p8affine-5.c: Use -mavx2 in dg-options
+       instead of -mavx.  Expect 46 insns instead of 31.
+
+2026-09-21  Jakub Jelinek  <[email protected]>
+
+       * c-c++-common/builtin-bswapg-1.c: Test
+       __has_builtin(__builtin_bswapg).
+       * c-c++-common/builtin-bitreverseg-1.c: Test
+       __has_builtin(__builtin_bitreverseg).
+
+2026-09-21  Kyrylo Tkachov  <[email protected]>
+
+       PR rtl-optimization/127445
+       * gcc.target/aarch64/pr127445.c: New test.
+
+2026-09-21  Kyrylo Tkachov  <[email protected]>
+
+       * gcc.dg/vect/vect-sat-trunc-range-precision-1.c: Do not force
+       execution.
+       * gcc.dg/vect/vect-sat-trunc-shift-sign-source-1.c: Likewise.
+
+2026-09-21  Naveen  <[email protected]>
+
+       PR tree-optimization/98984
+       * gcc.dg/tree-ssa/pr98984.c: New test.
+       * gcc.dg/tree-ssa/pr98984-2.c: New test.
+
 2026-09-20  Matt Turner  <[email protected]>
 
        * gcc.target/alpha/movmisalign-si.c: New test.
diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog
index abca2c09a0e7..c1ba25d91381 100644
--- a/libcpp/ChangeLog
+++ b/libcpp/ChangeLog
@@ -1,3 +1,10 @@
+2026-09-21  Léo Hardt  <[email protected]>
+
+       PR preprocessor/121508
+       PR preprocessor/123339
+       * macro.cc (builtin_has_include_1): Bail early if
+       not on a preprocessor directive.
+
 2026-09-18  Jakub Jelinek  <[email protected]>
 
        * makeucnid.cc (write_copyright): Update Unicode Copyright years.
diff --git a/libgcobol/ChangeLog b/libgcobol/ChangeLog
index 9a28f34f0116..2669fb410919 100644
--- a/libgcobol/ChangeLog
+++ b/libgcobol/ChangeLog
@@ -1,3 +1,12 @@
+2026-09-21  Robert Dubner  <[email protected]>
+
+       * libgcobol.cc (int128_to_field): Remove rdigits formal parameter.
+       (__gg__int128_to_ascii_numeric_display): Likewise.
+       * valconv.cc (__gg__string_to_numeric_edited): Complete rewrite to
+       use parameters appended by expand_expanded().
+       * valconv.h: Remove rdigits format parameter from
+       __gg__int128_to_ascii_numeric_display.
+
 2026-09-18  Robert Dubner  <[email protected]>
 
        * libgcobol.cc (do_the_dl_thing): New .so policy.
diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog
index d39a514f463f..96b34856a7ad 100644
--- a/libgomp/ChangeLog
+++ b/libgomp/ChangeLog
@@ -1,3 +1,8 @@
+2026-09-21  Tobias Burnus  <[email protected]>
+
+       * libgomp.texi (OpenMP 5.2 Impl. Status): Mark comma between
+       directive name and first clause as implemented in Fortran.
+
 2026-09-11  Tobias Burnus  <[email protected]>
 
        * libgomp.texi (omp_control_tool): Add example interface for calling
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index fd9e2983d55d..a7eb187b2315 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,76 @@
+2026-09-21  Tomasz Kamiński  <[email protected]>
+
+       PR libstdc++/82749
+       PR libstdc++/125548
+       * doc/xml/manual/using.xml
+       (_GLIBCXX_USE_OLD_PIECEWISE_DISTRIBUTIONS)
+       (_GLIBCXX_USE_RESULT_TYPE_FOR_PIECEWISE_DENSITIES): Replace with...
+       (_GLIBCXX_USE_NEW_PIECEWISE_DISTRIBUTIONS): Add entry.
+       * doc/html/manual/using_macros.html: Regenrate.
+       * include/bits/c++config (_GLIBCXX_USE_NEW_PIECEWISE_DISTRIBUTIONS)
+       [__cplusplus >= 201103L]: Define to the value 1 if not already defined.
+       * include/bits/random.h
+       (__detail::__piecewise_distributions_storage)
+       (__detail::__piecewise_distributions_storage_t): Adjust to depend
+       on _GLIBCXX_USE_NEW_PIECEWISE_DISTRIBUTIONS value.
+       (piecewise_constant_distribution::_CalcType)
+       (piecewise_linear_distribution::_CalcType)
+       (piecewise_constant_distribution::param_type::densities)
+       (piecewise_linear_distribution::param_type::densities):
+       Check for non-zero value of _GLIBCXX_USE_NEW_PIECEWISE_DISTRIBUTIONS
+       instead of defintion of _GLIBCXX_USE_OLD_PIECEWISE_DISTRIBUTIONS and
+       reorder branches.
+       * include/bits/random.tcc
+       (piecewise_constant_distribution::param_type::param_type)
+       (piecewise_constant_distribution::param_type::param_type): Likewise.
+       * 
testsuite/26_numerics/random/piecewise_constant_distribution/operators/accessors.cc:
+       Replace checks for _GLIBCXX_USE_OLD_PIECEWISE_DISTRIBUTIONS
+       _GLIBCXX_USE_RESULT_TYPE_FOR_PIECEWISE_DENSITIES defintions
+       with checks of _GLIBCXX_USE_NEW_PIECEWISE_DISTRIBUTIONS values.
+       * 
testsuite/26_numerics/random/piecewise_linear_distribution/operators/accessors.cc:
+       Likewise.
+       * 
testsuite/26_numerics/random/piecewise_linear_distribution/cons/pr125548.cc:
+       Likewise.
+       * 
testsuite/26_numerics/random/piecewise_constant_distribution/operators/accessors_fallback.cc:
+       Replace -D_GLIBCXX_USE_OLD_PIECEWISE_DISTRIBUTIONS with
+       -D_GLIBCXX_USE_NEW_PIECEWISE_DISTRIBUTIONS=0.
+       * 
testsuite/26_numerics/random/piecewise_linear_distribution/operators/accessors_fallback.cc:
+       Likewise.
+       * 
testsuite/26_numerics/random/piecewise_linear_distribution/cons/pr125548_fallback.cc:
+       Likewise.
+       * 
testsuite/26_numerics/random/piecewise_constant_distribution/cons/input_type_fallback_neg.cc:
+       Likewise.
+       * 
testsuite/26_numerics/random/piecewise_linear_distribution/cons/input_type_fallback_neg.cc:
+       Likewise.
+       * 
testsuite/26_numerics/random/piecewise_constant_distribution/operators/accessors_exact.cc:
+       Replace -D_GLIBCXX_USE_RESULT_TYPE_FOR_PIECEWISE_DENSITIES with
+       -D_GLIBCXX_USE_NEW_PIECEWISE_DISTRIBUTIONS=2.
+       * 
testsuite/26_numerics/random/piecewise_linear_distribution/operators/accessors_exact.cc:
+       Likewise.
+
+2026-09-21  Tomasz Kamiński  <[email protected]>
+
+       * include/bits/random.h (_Select_uint_least_t): Move primary
+       template and most of partial specializations to...
+       * include/bits/uniform_int_dist.h (_Select_uint_least_t):
+       Extracted from bits/random.h.
+       (uniform_int_distribution::_S_nd): Replace _Up and _Wp template
+       paramteters with Select_uint_least_t of _Bits and 2 * _Bits
+       respectively.
+       (uniform_int_distribution::operator()): Adjust calls to _S_nd
+       to pass only _Bits, and remove checks for presence of
+       __UINT64_TYPE__ and __UINT32_TYPE__ types.
+
+2026-09-21  Tomasz Kamiński  <[email protected]>
+
+       * include/bits/uniform_int_dist.h
+       (uniform_int_distribution::operator()): Use _S_nd (Lemire's
+       algorithm) if __urngrange is power of two.
+       (uniform_int_distribution::_S_nd): Add _Bits parameter. Mask
+       the result of conversion of __product to _Up to lowest _Bits.
+       * 
testsuite/26_numerics/random/uniform_int_distribution/operators/values.cc:
+       Add testDiscreteDist for ranlux24 and ranlux48 engines.
+
 2026-09-20  Gerald Pfeifer  <[email protected]>
 
        * doc/xml/manual/io.xml: New URL for Josuttis' "The C++ Standard

Reply via email to