On Wed, Dec 17, 2025 at 11:50 AM Jakub Jelinek <[email protected]> wrote:

> On Wed, Dec 17, 2025 at 11:44:31AM +0100, Tomasz Kaminski wrote:
> > Still we will need to check if we are causing any regressions here,
> > but the old implementation static_assert is_floating_point_v so we should
> > not cause any, unless that allows __float128.
>
Oh, I wasn't clear enough. This patch caused regressions for use
of generate cannonical long double, double (mantissa bigger than 64) for
architectures that do not have __int128,
which we need to address. No discussion about that.

I am looking into it, but I think I will do a two phase approach, of using
32bit, 64bit integers when the power of the generate range greater than
mantissa
(that does not have 64bits) will fit in them. And separate one, one we need
to do
128 bit operations.

I was committing on regression on __float128, on system where it is not used
as double, long double.


> But we are causing exactly that.
>
> FAIL: 26_numerics/random/bernoulli_distribution/operators/serialize.cc
> -std=gnu++17 (test for excess errors)
> UNRESOLVED:
> 26_numerics/random/bernoulli_distribution/operators/serialize.cc
> -std=gnu++17 compilation failed to produce executable
> FAIL: 26_numerics/random/binomial_distribution/114359.cc  -std=gnu++17
> (test for excess errors)
> UNRESOLVED: 26_numerics/random/binomial_distribution/114359.cc
> -std=gnu++17 compilation failed to produce executable
> FAIL: 26_numerics/random/binomial_distribution/operators/serialize.cc
> -std=gnu++17 (test for excess errors)
> UNRESOLVED:
> 26_numerics/random/binomial_distribution/operators/serialize.cc
> -std=gnu++17 compilation failed to produce executable
> FAIL: 26_numerics/random/cauchy_distribution/operators/serialize.cc
> -std=gnu++17 (test for excess errors)
> UNRESOLVED: 26_numerics/random/cauchy_distribution/operators/serialize.cc
> -std=gnu++17 compilation failed to produce executable
> FAIL: 26_numerics/random/chi_squared_distribution/83833.cc  -std=gnu++17
> (test for excess errors)
> UNRESOLVED: 26_numerics/random/chi_squared_distribution/83833.cc
> -std=gnu++17 compilation failed to produce executable
> FAIL: 26_numerics/random/chi_squared_distribution/operators/serialize.cc
> -std=gnu++17 (test for excess errors)
> UNRESOLVED:
> 26_numerics/random/chi_squared_distribution/operators/serialize.cc
> -std=gnu++17 compilation failed to produce executable
> FAIL: 26_numerics/random/discrete_distribution/operators/call-default.cc
> -std=gnu++17 (test for excess errors)
> UNRESOLVED:
> 26_numerics/random/discrete_distribution/operators/call-default.cc
> -std=gnu++17 compilation failed to produce executable
> FAIL: 26_numerics/random/discrete_distribution/operators/serialize.cc
> -std=gnu++17 (test for excess errors)
> UNRESOLVED:
> 26_numerics/random/discrete_distribution/operators/serialize.cc
> -std=gnu++17 compilation failed to produce executable
> FAIL: 26_numerics/random/exponential_distribution/operators/serialize.cc
> -std=gnu++17 (test for excess errors)
> UNRESOLVED:
> 26_numerics/random/exponential_distribution/operators/serialize.cc
> -std=gnu++17 compilation failed to produce executable
> FAIL:
> 26_numerics/random/extreme_value_distribution/operators/serialize.cc
> -std=gnu++17 (test for excess errors)
> UNRESOLVED:
> 26_numerics/random/extreme_value_distribution/operators/serialize.cc
> -std=gnu++17 compilation failed to produce executable
> FAIL: 26_numerics/random/fisher_f_distribution/operators/serialize.cc
> -std=gnu++17 (test for excess errors)
> UNRESOLVED:
> 26_numerics/random/fisher_f_distribution/operators/serialize.cc
> -std=gnu++17 compilation failed to produce executable
> FAIL: 26_numerics/random/gamma_distribution/operators/serialize.cc
> -std=gnu++17 (test for excess errors)
> UNRESOLVED: 26_numerics/random/gamma_distribution/operators/serialize.cc
> -std=gnu++17 compilation failed to produce executable
> FAIL: 26_numerics/random/geometric_distribution/operators/serialize.cc
> -std=gnu++17 (test for excess errors)
> UNRESOLVED:
> 26_numerics/random/geometric_distribution/operators/serialize.cc
> -std=gnu++17 compilation failed to produce executable
> FAIL: 26_numerics/random/lognormal_distribution/operators/serialize.cc
> -std=gnu++17 (test for excess errors)
> UNRESOLVED:
> 26_numerics/random/lognormal_distribution/operators/serialize.cc
> -std=gnu++17 compilation failed to produce executable
> FAIL:
> 26_numerics/random/negative_binomial_distribution/operators/58302.cc
> -std=gnu++17 (test for excess errors)
> FAIL:
> 26_numerics/random/negative_binomial_distribution/operators/serialize.cc
> -std=gnu++17 (test for excess errors)
> UNRESOLVED:
> 26_numerics/random/negative_binomial_distribution/operators/serialize.cc
> -std=gnu++17 compilation failed to produce executable
> FAIL: 26_numerics/random/normal_distribution/operators/equal.cc
> -std=gnu++17 (test for excess errors)
> UNRESOLVED: 26_numerics/random/normal_distribution/operators/equal.cc
> -std=gnu++17 compilation failed to produce executable
> FAIL: 26_numerics/random/normal_distribution/operators/serialize.cc
> -std=gnu++17 (test for excess errors)
> UNRESOLVED: 26_numerics/random/normal_distribution/operators/serialize.cc
> -std=gnu++17 compilation failed to produce executable
> FAIL:
> 26_numerics/random/piecewise_constant_distribution/operators/call-default.cc
> -std=gnu++17 (test for excess errors)
> UNRESOLVED:
> 26_numerics/random/piecewise_constant_distribution/operators/call-default.cc
> -std=gnu++17 compilation failed to produce executable
> FAIL:
> 26_numerics/random/piecewise_constant_distribution/operators/serialize.cc
> -std=gnu++17 (test for excess errors)
> UNRESOLVED:
> 26_numerics/random/piecewise_constant_distribution/operators/serialize.cc
> -std=gnu++17 compilation failed to produce executable
> FAIL:
> 26_numerics/random/piecewise_linear_distribution/operators/call-default.cc
> -std=gnu++17 (test for excess errors)
> UNRESOLVED:
> 26_numerics/random/piecewise_linear_distribution/operators/call-default.cc
> -std=gnu++17 compilation failed to produce executable
> FAIL:
> 26_numerics/random/piecewise_linear_distribution/operators/serialize.cc
> -std=gnu++17 (test for excess errors)
> UNRESOLVED:
> 26_numerics/random/piecewise_linear_distribution/operators/serialize.cc
> -std=gnu++17 compilation failed to produce executable
> FAIL: 26_numerics/random/poisson_distribution/operators/serialize.cc
> -std=gnu++17 (test for excess errors)
> UNRESOLVED:
> 26_numerics/random/poisson_distribution/operators/serialize.cc
> -std=gnu++17 compilation failed to produce executable
> FAIL: 26_numerics/random/pr60037-neg.cc  -std=gnu++17  (test for errors,
> line 3480)
> FAIL: 26_numerics/random/pr60037-neg.cc  -std=gnu++17 (test for excess
> errors)
> FAIL: 26_numerics/random/student_t_distribution/operators/serialize.cc
> -std=gnu++17 (test for excess errors)
> UNRESOLVED:
> 26_numerics/random/student_t_distribution/operators/serialize.cc
> -std=gnu++17 compilation failed to produce executable
> FAIL: 26_numerics/random/uniform_real_distribution/operators/64351.cc
> -std=gnu++17 execution test
> FAIL: 26_numerics/random/uniform_real_distribution/operators/gencanon.cc
> -std=gnu++17 execution test
> FAIL: 26_numerics/random/uniform_real_distribution/operators/serialize.cc
> -std=gnu++17 (test for excess errors)
> UNRESOLVED:
> 26_numerics/random/uniform_real_distribution/operators/serialize.cc
> -std=gnu++17 compilation failed to produce executable
> FAIL: 26_numerics/random/weibull_distribution/operators/serialize.cc
> -std=gnu++17 (test for excess errors)
> UNRESOLVED:
> 26_numerics/random/weibull_distribution/operators/serialize.cc
> -std=gnu++17 compilation failed to produce executable
> FAIL: ext/random/arcsine_distribution/operators/serialize.cc  -std=gnu++17
> (test for excess errors)
> UNRESOLVED: ext/random/arcsine_distribution/operators/serialize.cc
> -std=gnu++17 compilation failed to produce executable
> FAIL: ext/random/beta_distribution/operators/serialize.cc  -std=gnu++17
> (test for excess errors)
> UNRESOLVED: ext/random/beta_distribution/operators/serialize.cc
> -std=gnu++17 compilation failed to produce executable
> FAIL: ext/random/hoyt_distribution/operators/serialize.cc  -std=gnu++17
> (test for excess errors)
> UNRESOLVED: ext/random/hoyt_distribution/operators/serialize.cc
> -std=gnu++17 compilation failed to produce executable
> FAIL: ext/random/hypergeometric_distribution/operators/serialize.cc
> -std=gnu++17 (test for excess errors)
> UNRESOLVED: ext/random/hypergeometric_distribution/operators/serialize.cc
> -std=gnu++17 compilation failed to produce executable
> FAIL: ext/random/k_distribution/operators/serialize.cc  -std=gnu++17 (test
> for excess errors)
> UNRESOLVED: ext/random/k_distribution/operators/serialize.cc  -std=gnu++17
> compilation failed to produce executable
> FAIL: ext/random/logistic_distribution/operators/serialize.cc
> -std=gnu++17 (test for excess errors)
> UNRESOLVED: ext/random/logistic_distribution/operators/serialize.cc
> -std=gnu++17 compilation failed to produce executable
> FAIL: ext/random/nakagami_distribution/operators/serialize.cc
> -std=gnu++17 (test for excess errors)
> UNRESOLVED: ext/random/nakagami_distribution/operators/serialize.cc
> -std=gnu++17 compilation failed to produce executable
> FAIL: ext/random/normal_mv_distribution/operators/serialize.cc
> -std=gnu++17 (test for excess errors)
> UNRESOLVED: ext/random/normal_mv_distribution/operators/serialize.cc
> -std=gnu++17 compilation failed to produce executable
> FAIL: ext/random/pareto_distribution/operators/serialize.cc  -std=gnu++17
> (test for excess errors)
> UNRESOLVED: ext/random/pareto_distribution/operators/serialize.cc
> -std=gnu++17 compilation failed to produce executable
> FAIL: ext/random/rice_distribution/operators/serialize.cc  -std=gnu++17
> (test for excess errors)
> UNRESOLVED: ext/random/rice_distribution/operators/serialize.cc
> -std=gnu++17 compilation failed to produce executable
> FAIL: ext/random/triangular_distribution/operators/serialize.cc
> -std=gnu++17 (test for excess errors)
> UNRESOLVED: ext/random/triangular_distribution/operators/serialize.cc
> -std=gnu++17 compilation failed to produce executable
> FAIL: ext/random/uniform_inside_sphere_distribution/operators/generate.cc
> -std=gnu++17 (test for excess errors)
> UNRESOLVED:
> ext/random/uniform_inside_sphere_distribution/operators/generate.cc
> -std=gnu++17 compilation failed to produce executable
> FAIL:
> ext/random/uniform_inside_sphere_distribution/operators/serialize.cc
> -std=gnu++17 (test for excess errors)
> UNRESOLVED:
> ext/random/uniform_inside_sphere_distribution/operators/serialize.cc
> -std=gnu++17 compilation failed to produce executable
> FAIL: ext/random/uniform_on_sphere_distribution/operators/generate.cc
> -std=gnu++17 (test for excess errors)
> UNRESOLVED:
> ext/random/uniform_on_sphere_distribution/operators/generate.cc
> -std=gnu++17 compilation failed to produce executable
> FAIL: ext/random/uniform_on_sphere_distribution/operators/serialize.cc
> -std=gnu++17 (test for excess errors)
> UNRESOLVED:
> ext/random/uniform_on_sphere_distribution/operators/serialize.cc
> -std=gnu++17 compilation failed to produce executable
> FAIL: ext/random/von_mises_distribution/operators/serialize.cc
> -std=gnu++17 (test for excess errors)
> FAIL: std/ranges/adaptors/93978.cc  -std=gnu++20 (test for excess errors)
> FAIL: std/ranges/adaptors/93978.cc  -std=gnu++26 (test for excess errors)
>
> all now FAIL on i686-linux.
>
>         Jakub
>
>

Reply via email to