> From: Ulrich Drepper <[email protected]>
> 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