I got this after the commit for this test:

/export/users3/haochenj/src/gcc-bisect/master/master/r16-6205/bld/x86_64-linux/32/libstdc++-v3/include/bits/random.tcc:3697:
 error: static assertion failed: irregular RNG with float precision >32 
requires __int128 support
/export/users3/haochenj/src/gcc-bisect/master/master/r16-6205/bld/x86_64-linux/32/libstdc++-v3/include/bits/random.tcc:3702:
 warning: no return statement in function returning non-void [-Wreturn-type]

I guess a simple target int128 check to skip the test will be safe way to fix 
the issue if nobody has committed a patch to fix it.

Thx,
Haochen

From: Tomasz Kaminski <[email protected]>
Sent: Saturday, December 20, 2025 3:44 AM
To: Jiang, Haochen <[email protected]>
Cc: [email protected]; [email protected]
Subject: Re: [r16-6205 Regression] FAIL: 
26_numerics/random/negative_binomial_distribution/operators/58302.cc 
-std=gnu++20 (test for excess errors) on Linux/x86_64

There were many patches fixing generate_canonical merged including ones that 
landed today,
and -m32 works correctly on the trunk for me. Could you please double check?
I think most relevant would be this one:
commit 9614fe95eb33f8ff783b899049f61f74373ff982
Author: Jonathan Wakely <[email protected]<mailto:[email protected]>>
Date:   Wed Dec 17 18:36:36 2025 +0000

    libstdc++: Fix up std::generate_canonical for 32-bit arches


On Fri, Dec 19, 2025 at 5:26 PM Haochen Jiang 
<[email protected]<mailto:[email protected]>> wrote:
On Linux/x86_64,

837c21e1aab850126e91eee9b8944aa2baca9ad5 is the first bad commit
commit 837c21e1aab850126e91eee9b8944aa2baca9ad5
Author: Tomasz Kamiński <[email protected]<mailto:[email protected]>>
Date:   Wed Dec 17 10:32:54 2025 +0100

    libstdc++: Make declaration and definition of generate_canonical consistent.

caused

FAIL: 26_numerics/random/discrete_distribution/operators/call-default.cc  
-std=gnu++20 (test for excess errors)
FAIL: 26_numerics/random/negative_binomial_distribution/operators/58302.cc  
-std=gnu++20 (test for excess errors)

with GCC configured with

../../gcc/configure 
--prefix=/export/users3/haochenj/src/gcc-bisect/master/master/r16-6205/usr 
--enable-clocale=gnu --with-system-zlib --with-demangler-in-ld 
--with-fpmath=sse --enable-languages=c,c++,fortran --enable-cet --without-isl 
--enable-libmpx x86_64-linux --disable-bootstrap

To reproduce:

$ cd {build_dir}/x86_64-linux/libstdc++-v3/testsuite && make check 
RUNTESTFLAGS="conformance.exp=26_numerics/random/discrete_distribution/operators/call-default.cc
 --target_board='unix{-m32}'"
$ cd {build_dir}/x86_64-linux/libstdc++-v3/testsuite && make check 
RUNTESTFLAGS="conformance.exp=26_numerics/random/discrete_distribution/operators/call-default.cc
 --target_board='unix{-m32\ -march=cascadelake}'"
$ cd {build_dir}/x86_64-linux/libstdc++-v3/testsuite && make check 
RUNTESTFLAGS="conformance.exp=26_numerics/random/negative_binomial_distribution/operators/58302.cc
 --target_board='unix{-m32}'"
$ cd {build_dir}/x86_64-linux/libstdc++-v3/testsuite && make check 
RUNTESTFLAGS="conformance.exp=26_numerics/random/negative_binomial_distribution/operators/58302.cc
 --target_board='unix{-m32\ -march=cascadelake}'"

(Please directly reply to this email for question about this report.)
(If you met problems with cascadelake related, disabling AVX512F in command 
line might save that.)
(However, please make sure that there is no potential problems with AVX512.)

Reply via email to