summaryrefslogtreecommitdiffstats
path: root/src/corelib/global/qrandom.cpp
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2017-06-06 18:28:37 -0700
committerThiago Macieira <thiago.macieira@intel.com>2017-06-20 16:37:35 +0000
commit0669f71b0c78c0d3374571d266004d7503ca8b12 (patch)
tree9c5ee9a5be7f02c2ca6c52a5987f0c406622694a /src/corelib/global/qrandom.cpp
parent4de40514066e7e31fe02c87afaf0863d6928391f (diff)
QRandomGenerator: don't internally rely on QT_HAS_INCLUDE
GCC didn't support it until version 5 or 6, so add configure tests for both <random> and <sys/auxv.h>. Normally I'd say "upgrade", but this is too low-level and important a feature. There's a good chance that all our supported compilers have <random> anyway. As for <sys/auxv.h>, it's present on Glibc, Bionic and MUSL, but I don't see it in uClibc (AT_RANDOM is a Linux-specific feature). Change-Id: Ia3e896da908f42939148fffd14c5b2af491f7a77 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Diffstat (limited to 'src/corelib/global/qrandom.cpp')
-rw-r--r--src/corelib/global/qrandom.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/corelib/global/qrandom.cpp b/src/corelib/global/qrandom.cpp
index 83a309b143..6a92260c46 100644
--- a/src/corelib/global/qrandom.cpp
+++ b/src/corelib/global/qrandom.cpp
@@ -46,13 +46,13 @@
#include <qthreadstorage.h>
#include <private/qsimd_p.h>
-#if QT_HAS_INCLUDE(<random>)
+#if QT_CONFIG(cxx11_random)
# include <random>
# include "qdeadlinetimer.h"
# include "qhashfunctions.h"
#endif
-#if QT_HAS_INCLUDE(<sys/auxv.h>)
+#if QT_CONFIG(sys_auxv)
# include <sys/auxv.h>
#endif
@@ -213,7 +213,7 @@ static void fallback_fill(quint32 *ptr, qssize_t left) Q_DECL_NOTHROW
// BSDs have arc4random(4) and these work even in chroot(2)
arc4random_buf(ptr, left * sizeof(*ptr));
}
-#elif QT_HAS_INCLUDE(<chrono>)
+#elif QT_CONFIG(cxx11_random)
static QBasicAtomicInteger<unsigned> seed = Q_BASIC_ATOMIC_INITIALIZER(0U);
static void fallback_update_seed(unsigned value)
{