http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57110
Bug #: 57110 Summary: is the use of "uint_fast32_t" in <random> intentional? Classification: Unclassified Product: gcc Version: 4.9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: vincenzo.innoce...@cern.ch Trying to understand differences for the mersenne_twister_engine between Linux and MacOS (both x86_64) I discovered that on Linux uint_fast32_t is 64 bits while on Mac is 32 this makes typedef mersenne_twister_engine< uint_fast32_t, 32, 624, 397, 31, 0x9908b0dfUL, 11, 0xffffffffUL, 7, 0x9d2c5680UL, 15, 0xefc60000UL, 18, 1812433253UL> mt19937; different on the two systems. in particular _UIntType _M_x[state_size]; is a vector of ULL on linux and of UI on Mac is this really intentional? btw bits/random.h is the only place where uint_fast32_t is actually used in the whole libstdc++