Define _GLIBCXX_USE_DEV_RANDOM as replacement for _GLIBCXX_USE_RANDOM_TR1
authorJonathan Wakely <jwakely@redhat.com>
Tue, 16 Oct 2018 14:49:29 +0000 (15:49 +0100)
committerJonathan Wakely <redi@gcc.gnu.org>
Tue, 16 Oct 2018 14:49:29 +0000 (15:49 +0100)
Define and use a new macro with a more descriptive name. Only use the
old macro in <tr1/random.h>.

* acinclude.m4 (GLIBCXX_CHECK_RANDOM_TR1): Replace with ...
(GLIBCXX_CHECK_DEV_RANDOM): New macro with more descriptive name.
Define _GLIBCXX_USE_DEV_RANDOM as well as _GLIBCXX_USE_RANDOM_TR1.
* config.h.in: Regenerate.
* configure: Regenerate.
* configure.ac: Use GLIBCXX_CHECK_DEV_RANDOM instead of
GLIBCXX_CHECK_RANDOM_TR1.
crossconfig.m4: Likewise.
* include/bits/random.h (random_device): Use _GLIBCXX_USE_DEV_RANDOM
instead of _GLIBCXX_USE_RANDOM_TR1.
* testsuite/26_numerics/random/random_device/cons/token.cc: Likewise.

From-SVN: r265197

libstdc++-v3/ChangeLog
libstdc++-v3/acinclude.m4
libstdc++-v3/config.h.in
libstdc++-v3/configure
libstdc++-v3/configure.ac
libstdc++-v3/crossconfig.m4
libstdc++-v3/include/bits/random.h
libstdc++-v3/testsuite/26_numerics/random/random_device/cons/token.cc

index 08bb1e8a3445002e549bfc9999011e6078d54629..bfb372dff83e1ee6468488f4fc44783eee65b8e0 100644 (file)
@@ -1,3 +1,17 @@
+2018-10-16  Jonathan Wakely  <jwakely@redhat.com>
+
+       * acinclude.m4 (GLIBCXX_CHECK_RANDOM_TR1): Replace with ...
+       (GLIBCXX_CHECK_DEV_RANDOM): New macro with more descriptive name.
+       Define _GLIBCXX_USE_DEV_RANDOM as well as _GLIBCXX_USE_RANDOM_TR1.
+       * config.h.in: Regenerate.
+       * configure: Regenerate.
+       * configure.ac: Use GLIBCXX_CHECK_DEV_RANDOM instead of
+       GLIBCXX_CHECK_RANDOM_TR1.
+       crossconfig.m4: Likewise.
+       * include/bits/random.h (random_device): Use _GLIBCXX_USE_DEV_RANDOM
+       instead of _GLIBCXX_USE_RANDOM_TR1.
+       * testsuite/26_numerics/random/random_device/cons/token.cc: Likewise.
+
 2018-10-16  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
 
        * testsuite/lib/dg-options.exp (add_options_for_net_ts): New proc.
index 6d68e9074268186e909d8022be8c28b855cc9789..82a25e5f2f113f36cfc12e666ae5a7d6136e3c05 100644 (file)
@@ -2073,27 +2073,31 @@ AC_DEFUN([GLIBCXX_CHECK_UCHAR_H], [
 
 
 dnl
-dnl Check whether "/dev/random" and "/dev/urandom" are available for the
+dnl Check whether "/dev/random" and "/dev/urandom" are available for
+dnl class std::random_device from C++ 2011 [rand.device], and
 dnl random_device of "TR1" (Chapter 5.1, "Random number generation").
 dnl
-AC_DEFUN([GLIBCXX_CHECK_RANDOM_TR1], [
+AC_DEFUN([GLIBCXX_CHECK_DEV_RANDOM], [
 
-  AC_MSG_CHECKING([for "/dev/random" and "/dev/urandom" for TR1 random_device])
-  AC_CACHE_VAL(glibcxx_cv_random_tr1, [
+  AC_MSG_CHECKING([for "/dev/random" and "/dev/urandom" for std::random_device])
+  AC_CACHE_VAL(glibcxx_cv_dev_random, [
     if test -r /dev/random && test -r /dev/urandom; then
-  ## For MSys environment the test above is detect as false-positive
-  ## on mingw-targets.  So disable it explicit for them.
+  ## For MSys environment the test above is detected as false-positive
+  ## on mingw-targets.  So disable it explicitly for them.
       case ${target_os} in
-       *mingw*) glibcxx_cv_random_tr1=no ;;
-       *) glibcxx_cv_random_tr1=yes ;;
+       *mingw*) glibcxx_cv_dev_random=no ;;
+       *) glibcxx_cv_dev_random=yes ;;
       esac
     else
-      glibcxx_cv_random_tr1=no;
+      glibcxx_cv_dev_random=no;
     fi
   ])
-  AC_MSG_RESULT($glibcxx_cv_random_tr1)
+  AC_MSG_RESULT($glibcxx_cv_dev_random)
 
-  if test x"$glibcxx_cv_random_tr1" = x"yes"; then
+  if test x"$glibcxx_cv_dev_random" = x"yes"; then
+    AC_DEFINE(_GLIBCXX_USE_DEV_RANDOM, 1,
+             [Define if /dev/random and /dev/urandom are available for
+              std::random_device.])
     AC_DEFINE(_GLIBCXX_USE_RANDOM_TR1, 1,
              [Define if /dev/random and /dev/urandom are available for
               the random_device of TR1 (Chapter 5.1).])
index 919a1f068c0a99a828e47d01cb999d08505af3b4..65e7b46dc4e62c6144c8ca91a9cc960302ce2339 100644 (file)
    this host. */
 #undef _GLIBCXX_USE_DECIMAL_FLOAT
 
+/* Define if /dev/random and /dev/urandom are available for
+   std::random_device. */
+#undef _GLIBCXX_USE_DEV_RANDOM
+
 /* Define if fchmod is available in <sys/stat.h>. */
 #undef _GLIBCXX_USE_FCHMOD
 
index d33081d544ca12d86931a544d0ed048af2177803..93a727e7cff4e02f21cb227f43a15a81304bac2d 100755 (executable)
@@ -27852,32 +27852,35 @@ done
   CXXFLAGS="$ac_save_CXXFLAGS"
 
 
-  # For /dev/random and /dev/urandom for TR1.
+  # For /dev/random and /dev/urandom for std::random_device.
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for \"/dev/random\" and \"/dev/urandom\" for TR1 random_device" >&5
-$as_echo_n "checking for \"/dev/random\" and \"/dev/urandom\" for TR1 random_device... " >&6; }
-  if test "${glibcxx_cv_random_tr1+set}" = set; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for \"/dev/random\" and \"/dev/urandom\" for std::random_device" >&5
+$as_echo_n "checking for \"/dev/random\" and \"/dev/urandom\" for std::random_device... " >&6; }
+  if test "${glibcxx_cv_dev_random+set}" = set; then :
   $as_echo_n "(cached) " >&6
 else
 
     if test -r /dev/random && test -r /dev/urandom; then
-  ## For MSys environment the test above is detect as false-positive
-  ## on mingw-targets.  So disable it explicit for them.
+  ## For MSys environment the test above is detected as false-positive
+  ## on mingw-targets.  So disable it explicitly for them.
       case ${target_os} in
-       *mingw*) glibcxx_cv_random_tr1=no ;;
-       *) glibcxx_cv_random_tr1=yes ;;
+       *mingw*) glibcxx_cv_dev_random=no ;;
+       *) glibcxx_cv_dev_random=yes ;;
       esac
     else
-      glibcxx_cv_random_tr1=no;
+      glibcxx_cv_dev_random=no;
     fi
 
 fi
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_random_tr1" >&5
-$as_echo "$glibcxx_cv_random_tr1" >&6; }
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_dev_random" >&5
+$as_echo "$glibcxx_cv_dev_random" >&6; }
+
+  if test x"$glibcxx_cv_dev_random" = x"yes"; then
+
+$as_echo "#define _GLIBCXX_USE_DEV_RANDOM 1" >>confdefs.h
 
-  if test x"$glibcxx_cv_random_tr1" = x"yes"; then
 
 $as_echo "#define _GLIBCXX_USE_RANDOM_TR1 1" >>confdefs.h
 
@@ -47105,6 +47108,8 @@ done
 
   CXXFLAGS="$ac_save_CXXFLAGS"
 
+    $as_echo "#define _GLIBCXX_USE_DEV_RANDOM 1" >>confdefs.h
+
     $as_echo "#define _GLIBCXX_USE_RANDOM_TR1 1" >>confdefs.h
 
     # We don't yet support AIX's TLS ABI.
@@ -59737,6 +59742,8 @@ done
 
   CXXFLAGS="$ac_save_CXXFLAGS"
 
+    $as_echo "#define _GLIBCXX_USE_DEV_RANDOM 1" >>confdefs.h
+
     $as_echo "#define _GLIBCXX_USE_RANDOM_TR1 1" >>confdefs.h
 
 
index 332af3706d3bc9da378251d3bded18556dfa68d0..e3612b036df6822203128b4d244ba4f0a0a1db1d 100644 (file)
@@ -255,8 +255,8 @@ if $GLIBCXX_IS_NATIVE; then
   GLIBCXX_CHECK_MATH_SUPPORT
   GLIBCXX_CHECK_STDLIB_SUPPORT
 
-  # For /dev/random and /dev/urandom for TR1.
-  GLIBCXX_CHECK_RANDOM_TR1
+  # For /dev/random and /dev/urandom for std::random_device.
+  GLIBCXX_CHECK_DEV_RANDOM
 
   # For TLS support.
   GCC_CHECK_TLS
index 0dbfe4057bd50b0f2690f479736b2807c7dd6a1e..3de40dc138b5c0e9d4f36afcab57796c6a0e24d3 100644 (file)
@@ -66,6 +66,7 @@ case "${host}" in
     GLIBCXX_CHECK_LINKER_FEATURES
     GLIBCXX_CHECK_MATH_SUPPORT
     GLIBCXX_CHECK_STDLIB_SUPPORT
+    AC_DEFINE(_GLIBCXX_USE_DEV_RANDOM)
     AC_DEFINE(_GLIBCXX_USE_RANDOM_TR1)
     # We don't yet support AIX's TLS ABI.
     #GCC_CHECK_TLS
@@ -188,6 +189,7 @@ case "${host}" in
     GLIBCXX_CHECK_LINKER_FEATURES
     GLIBCXX_CHECK_MATH_SUPPORT
     GLIBCXX_CHECK_STDLIB_SUPPORT
+    AC_DEFINE(_GLIBCXX_USE_DEV_RANDOM)
     AC_DEFINE(_GLIBCXX_USE_RANDOM_TR1)
     GCC_CHECK_TLS
     AC_CHECK_FUNCS(__cxa_thread_atexit_impl)
index e59c8b0221d01b84999b742f9ab68907657588af..5e994aa883601793b64bef0ae7046511bda9577c 100644 (file)
@@ -1602,7 +1602,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
     // constructors, destructors and member functions
 
-#ifdef _GLIBCXX_USE_RANDOM_TR1
+#ifdef _GLIBCXX_USE_DEV_RANDOM
     random_device() { _M_init("default"); }
 
     explicit
@@ -1629,7 +1629,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
     double
     entropy() const noexcept
     {
-#ifdef _GLIBCXX_USE_RANDOM_TR1
+#ifdef _GLIBCXX_USE_DEV_RANDOM
       return this->_M_getentropy();
 #else
       return 0.0;
@@ -1639,7 +1639,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
     result_type
     operator()()
     {
-#ifdef _GLIBCXX_USE_RANDOM_TR1
+#ifdef _GLIBCXX_USE_DEV_RANDOM
       return this->_M_getval();
 #else
       return this->_M_getval_pretr1();
index e2fc507fa5a656f37fc147cdf3121ffe75bbfe95..3d945ae12a1d1876574d9dac642b4cd8e7d0b7ac 100644 (file)
@@ -29,7 +29,7 @@
 void
 test01()
 {
-#ifdef _GLIBCXX_USE_RANDOM_TR1
+#ifdef _GLIBCXX_USE_DEV_RANDOM
   std::random_device x("/dev/random");
 #else
   std::random_device x("0");