> -----Original Message----- > From: Jonathan Wakely [mailto:jwak...@redhat.com] > Sent: Thursday, September 17, 2015 6:54 PM > To: Moore, Catherine; fdum...@gcc.gnu.org > Cc: Gerald Pfeifer; libstd...@gcc.gnu.org; gcc-patches@gcc.gnu.org > Subject: Re: [patch] libstdc++/65142 Check read() result in > std::random_device. > > On 17/09/15 22:32 +0000, Moore, Catherine wrote: > > > > > >> -----Original Message----- > >> From: gcc-patches-ow...@gcc.gnu.org [mailto:gcc-patches- > >> ow...@gcc.gnu.org] On Behalf Of Jonathan Wakely > >> Sent: Thursday, September 17, 2015 5:28 PM > >> To: Gerald Pfeifer > >> Cc: libstd...@gcc.gnu.org; gcc-patches@gcc.gnu.org > >> Subject: Re: [patch] libstdc++/65142 Check read() result in > >> std::random_device. > >> > >> On 17/09/15 22:21 +0200, Gerald Pfeifer wrote: > >> >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. > >> > >> Sorry about that, I've committed your patch. > >> > >> >Gerald > >> > > >> > > >I'm still seeing errors for a build of the mips-sde-elf target with these > patches. > > > >Errors are: > >/scratch/cmoore/virgin-upstream-elf-lite/src/gcc-trunk-5/libstdc++-v3/s > >rc/c++11/debug.cc: In function 'void > {anonymous}::print_word({anonymous > >}::PrintContext&, const char*, std::ptrdiff_t)': > >/scratch/cmoore/virgin-upstream-elf-lite/src/gcc-trunk-5/libstdc++-v3/s > >rc/c++11/debug.cc:573:10: error: 'stderr' was not declared in this scop > >e > > fprintf(stderr, "\n"); > > ^ > >/scratch/cmoore/virgin-upstream-elf-lite/src/gcc-trunk-5/libstdc++-v3/s > >rc/c++11/debug.cc:573:22: error: 'fprintf' was not declared in this sco > >pe > > fprintf(stderr, "\n"); > > ^ > >/scratch/cmoore/virgin-upstream-elf-lite/src/gcc-trunk-5/libstdc++-v3/s > >rc/c++11/debug.cc:596:14: error: 'stderr' was not declared in this scop e > > fprintf(stderr, "%s", spacing); > > ^ > >/scratch/cmoore/virgin-upstream-elf-lite/src/gcc-trunk-5/libstdc++-v3/s > >rc/c++11/debug.cc:596:35: error: 'fprintf' was not declared in this sco pe > > fprintf(stderr, "%s", spacing); > > ^ > >/scratch/cmoore/virgin-upstream-elf-lite/src/gcc-trunk-5/libstdc++-v3/s > >rc/c++11/debug.cc:600:24: error: 'stderr' was not declared in this > >scope > > int written = fprintf(stderr, "%s", word); > > ^ > >/scratch/cmoore/virgin-upstream-elf-lite/src/gcc-trunk-5/libstdc++-v3/s > >rc/c++11/debug.cc:600:42: error: 'fprintf' was not declared in this > >scop e > > int written = fprintf(stderr, "%s", word); > > That's a different problem, due to https://gcc.gnu.org/r227885 > > François, could you take a look please? >
I've now committed this patch to solve this problem (pre-approved by Jonathan). 2015-09-17 Catherine Moore <c...@codesourcery.com> * src/c++11/debug.cc: Include <cstdio>. Index: src/c++11/debug.cc =================================================================== --- src/c++11/debug.cc (revision 227887) +++ src/c++11/debug.cc (working copy) @@ -32,6 +32,7 @@ #include <debug/safe_local_iterator.h> #include <cassert> +#include <cstdio> #include <algorithm> // for std::min #include <functional> // for _Hash_impl