aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/src
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@gmail.com>2012-09-09 17:20:42 +0000
committerJonathan Wakely <redi@gcc.gnu.org>2012-09-09 18:20:42 +0100
commit3ca6351daa2a4e90af9a97085f8fa316b6ede57f (patch)
tree8969affc89fdebd06b8f119befc16b15679f6256 /libstdc++-v3/src
parentef64d158fb3ff94c3e6a290586061f3e5a8983f3 (diff)
downloadgcc-3ca6351daa2a4e90af9a97085f8fa316b6ede57f.zip
gcc-3ca6351daa2a4e90af9a97085f8fa316b6ede57f.tar.gz
gcc-3ca6351daa2a4e90af9a97085f8fa316b6ede57f.tar.bz2
re PR bootstrap/54419 (Compiling libstdc++-v3/src/c++11/random.cc fails on platforms not knowing rdrand)
2012-09-09 Ulrich Drepper <drepper@gmail.com> Dominique d'Humieres <dominiq@lps.ens.fr> Jack Howarth <howarth@bromo.med.uc.edu> PR bootstrap/54419 * acinclude.m4: Define GLIBCXX_CHECK_X86_RDRAND. * configure.ac: Use GLIBCXX_CHECK_X86_RDRAND to test for rdrand support in assembler. * src/c++11/random.cc (__x86_rdrand): Depend on _GLIBCXX_X86_RDRAND. (random_device::_M_init): Likewise. (random_device::_M_getval): Likewise. * configure: Regenerated. * config.h.in: Regenerated. Co-Authored-By: Dominique d'Humieres <dominiq@lps.ens.fr> Co-Authored-By: Jack Howarth <howarth@bromo.med.uc.edu> From-SVN: r191111
Diffstat (limited to 'libstdc++-v3/src')
-rw-r--r--libstdc++-v3/src/c++11/random.cc6
1 files changed, 3 insertions, 3 deletions
diff --git a/libstdc++-v3/src/c++11/random.cc b/libstdc++-v3/src/c++11/random.cc
index 3b05318..4342df4 100644
--- a/libstdc++-v3/src/c++11/random.cc
+++ b/libstdc++-v3/src/c++11/random.cc
@@ -50,7 +50,7 @@ namespace std _GLIBCXX_VISIBILITY(default)
return __ret;
}
-#if defined __i386__ || defined __x86_64__
+#if (defined __i386__ || defined __x86_64__) && defined _GLIBCXX_X86_RDRAND
unsigned int
__attribute__ ((target("rdrnd")))
__x86_rdrand(void)
@@ -75,7 +75,7 @@ namespace std _GLIBCXX_VISIBILITY(default)
if (token == "default")
{
-#if defined __i386__ || defined __x86_64__
+#if (defined __i386__ || defined __x86_64__) && defined _GLIBCXX_X86_RDRAND
unsigned int eax, ebx, ecx, edx;
// Check availability of cpuid and, for now at least, also the
// CPU signature for Intel's
@@ -118,7 +118,7 @@ namespace std _GLIBCXX_VISIBILITY(default)
random_device::result_type
random_device::_M_getval()
{
-#if (defined __i386__ || defined __x86_64__)
+#if (defined __i386__ || defined __x86_64__) && defined _GLIBCXX_X86_RDRAND
if (! _M_file)
return __x86_rdrand();
#endif