aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/include/ext/random
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2022-05-26 21:32:55 +0100
committerJonathan Wakely <jwakely@redhat.com>2022-05-26 22:29:05 +0100
commit367740bf6d3a6627798b3955e5d85efc7549ef50 (patch)
treefcba7794dc9420038b80e182b320fe2926834ff1 /libstdc++-v3/include/ext/random
parent11e1ee1b38f0d3a825b0cb70122cb345636b0534 (diff)
downloadgcc-367740bf6d3a6627798b3955e5d85efc7549ef50.zip
gcc-367740bf6d3a6627798b3955e5d85efc7549ef50.tar.gz
gcc-367740bf6d3a6627798b3955e5d85efc7549ef50.tar.bz2
libstdc++: Fix narrowing conversions for 16-bit size_t [PR105681]
On a 16-bit target such as msp430 we get errors about narrowing long values to size_t, which is only 16-bit. When --enable-libstdcxx-pch is used the <bits/extc++.h> header breaks the build because of these narrowing errors. libstdc++-v3/ChangeLog: PR libstdc++/105681 * include/ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp: Limit ga_sizes array to values that fit in size_t. * include/ext/random [__SIZE_WIDTH < 32] (sfmt86243) (sfmt86243_64, sfmt132049, sfmt132049_64, sfmt216091) (sfmt216091_64): Do not declare.
Diffstat (limited to 'libstdc++-v3/include/ext/random')
-rw-r--r--libstdc++-v3/include/ext/random2
1 files changed, 2 insertions, 0 deletions
diff --git a/libstdc++-v3/include/ext/random b/libstdc++-v3/include/ext/random
index b715576..50505b8 100644
--- a/libstdc++-v3/include/ext/random
+++ b/libstdc++-v3/include/ext/random
@@ -346,6 +346,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
0xa3ac4000U, 0xecc1327aU>
sfmt44497_64;
+#if __SIZE_WIDTH__ >= 32
typedef simd_fast_mersenne_twister_engine<uint32_t, 86243, 366,
6, 7, 19, 1,
@@ -396,6 +397,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
0xf8000001U, 0x89e80709U,
0x3bd2b64bU, 0x0c64b1e4U>
sfmt216091_64;
+#endif // __SIZE_WIDTH__ >= 32
#endif // __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__