http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54576
Bug #: 54576 Summary: [4.8 Regression] random_device isn't protected by _GLIBCXX_USE_C99_STDINT_TR1 Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: hjl.to...@gmail.com include/random has #ifdef _GLIBCXX_USE_C99_STDINT_TR1 #include <cstdint> // For uint_fast32_t, uint_fast64_t, uint_least32_t #include <bits/random.h> #include <bits/random.tcc> #endif // _GLIBCXX_USE_C99_STDINT_TR1 random_device is defined in <bits/random.h>. But src/c++11/random.cc has #include <random> ... void random_device::_M_init(const std::string& token) { It doesn't check if _GLIBCXX_USE_C99_STDINT_TR1 is defined.