> From: Ulrich Drepper <drep...@gmail.com> > Date: Tue, 28 Aug 2012 05:57:08 +0200
This patch (commit r190787) broke build for non-_GLIBCXX_USE_RANDOM_TR1 targets. (See libstdc++-v3/configure.ac and its crossconfig.m4 for a list.) > Index: libstdc++-v3/include/bits/random.h > =================================================================== > --- libstdc++-v3/include/bits/random.h (revision 190713) > +++ libstdc++-v3/include/bits/random.h (working copy) > @@ -1575,40 +1575,20 @@ > #ifdef _GLIBCXX_USE_RANDOM_TR1 > > explicit > - random_device(const std::string& __token = "/dev/urandom") > + random_device(const std::string& __token = "default") > { > - if ((__token != "/dev/urandom" && __token != "/dev/random") > - || !(_M_file = std::fopen(__token.c_str(), "rb"))) > - std::__throw_runtime_error(__N("random_device::" > - "random_device(const std::string&)")); > + _M_init(__token); > } > > ~random_device() > - { std::fclose(_M_file); } > + { _M_fini(); } > > #else > > explicit > random_device(const std::string& __token = "mt19937") > - : _M_mt(_M_strtoul(__token)) { } > + { return _M_init_pretr1(__token); } > make[4]: Entering directory `/tmp/hpautotest-gcc0/cris-elf/gccobj/cris-elf/libstdc++-v3/include' mkdir -p ./cris-elf/bits/stdc++.h.gch /tmp/hpautotest-gcc0/cris-elf/gccobj/./gcc/xgcc -shared-libgcc -B/tmp/hpautotest-gcc0/cris-elf/gccobj/./gcc -nostdinc++ -L/tmp/hpautotest-gcc0/cris-elf/gccobj/cris-elf/libstdc++-v3/src -L/tmp/hpautotest-gcc0/cris-elf/gccobj/cris-elf/libstdc++-v3/src/.libs -nostdinc -B/tmp/hpautotest-gcc0/cris-elf/gccobj/cris-elf/newlib/ -isystem /tmp/hpautotest-gcc0/cris-elf/gccobj/cris-elf/newlib/targ-include -isystem /tmp/hpautotest-gcc0/gcc/newlib/libc/include -B/tmp/hpautotest-gcc0/cris-elf/gccobj/cris-elf/libgloss/cris -L/tmp/hpautotest-gcc0/cris-elf/gccobj/cris-elf/libgloss/libnosys -L/tmp/hpautotest-gcc0/gcc/libgloss/cris -B/tmp/hpautotest-gcc0/cris-elf/pre/cris-elf/bin/ -B/tmp/hpautotest-gcc0/cris-elf/pre/cris-elf/lib/ -isystem /tmp/hpautotest-gcc0/cris-elf/pre/cris-elf/include -isystem /tmp/hpautotest-gcc0/cris-elf/pre/cris-elf/sys-include -x c++-header -nostdinc++ -g -O2 -I/tmp/hpautotest-gcc0/cris-elf/gccobj/cris-elf/libstdc++-v3/include/cris-elf -I/tmp/hpautotest-gcc0/cris-elf/ gccobj/cris-elf/libstdc++-v3/include -I/tmp/hpautotest-gcc0/gcc/libstdc++-v3/libsupc++ -O2 -g -std=gnu++0x /tmp/hpautotest-gcc0/gcc/libstdc++-v3/include/precompiled/stdc++.h \ -o cris-elf/bits/stdc++.h.gch/O2ggnu++0x.gch In file included from /tmp/hpautotest-gcc0/cris-elf/gccobj/cris-elf/libstdc++-v3/include/random:50:0, from /tmp/hpautotest-gcc0/cris-elf/gccobj/cris-elf/libstdc++-v3/include/bits/stl_algo.h:67, from /tmp/hpautotest-gcc0/cris-elf/gccobj/cris-elf/libstdc++-v3/include/algorithm:63, from /tmp/hpautotest-gcc0/gcc/libstdc++-v3/include/precompiled/stdc++.h:65: /tmp/hpautotest-gcc0/cris-elf/gccobj/cris-elf/libstdc++-v3/include/bits/random.h: In constructor 'std::random_device::random_device(const string&)': /tmp/hpautotest-gcc0/cris-elf/gccobj/cris-elf/libstdc++-v3/include/bits/random.h:1590:36: error: returning a value from a constructor { return _M_init_pretr1(__token); } ^ make[4]: *** [cris-elf/bits/stdc++.h.gch/O2ggnu++0x.gch] Error 1 brgds, H-P