https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105681

--- Comment #9 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Ah, and I didn't see this when building for msp430 because I used
--disable-libstdcxx-pch and that means the build doesn't depend on the
<ext/random> header.

I can now reproduce the build failure, and the patch in comment 6 fixes the
failures in <ext/random>, but then we fail later:

/tmp/msp430/msp430-elf/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp:73:32:
error: narrowing conversion of '116731' from 'long unsigned int' to
'std::size_t' {aka 'unsigned int'} [-Wnarrowing]
   73 |       /* 14    */              116731ul,
      |                                ^~~~~~~~

Those are also non-standard extensions. Maybe we should just not install the
precompiled header for <bits/extc++.h> on 16-bit targets.

As a workaround until I fix all the problems, you can use
--disable-libstdcxx-pch

Reply via email to