On Thu, 17 Sep 2015, Jonathan Wakely wrote: >> Any comments on this version? > Committed to trunk.
Unfortunately this broke bootstrap on FreeBSD 10.1. /scratch/tmp/gerald/gcc-HEAD/libstdc++-v3/src/c++11/random.cc: In member function 'std::random_device::result_type std::random_device::_M_getval()': /scratch/tmp/gerald/gcc-HEAD/libstdc++-v3/src/c++11/random.cc:144:22: error: 'errno' was not declared in this scope else if (e != -1 || errno != EINTR) ^ /scratch/tmp/gerald/gcc-HEAD/libstdc++-v3/src/c++11/random.cc:144:31: error: 'EINTR' was not declared in this scope else if (e != -1 || errno != EINTR) ^ Makefile:545: recipe for target 'random.lo' failed I probably won't be able to dig in deeper today, but figured this might already send you on the right path? Actually... ...how about he patch below? Bootstraps on i386-unknown-freebsd10.1, no regressions. Gerald 2015-09-17 Gerald Pfeifer <ger...@pfeifer.com> * src/c++11/random.cc: Include <cerrno>. Index: libstdc++-v3/src/c++11/random.cc =================================================================== --- libstdc++-v3/src/c++11/random.cc (revision 227883) +++ libstdc++-v3/src/c++11/random.cc (working copy) @@ -31,6 +31,7 @@ # include <cpuid.h> #endif +#include <cerrno> #include <cstdio> #ifdef _GLIBCXX_HAVE_UNISTD_H