From ff63a38bb82849eb3eb13f7aae99fa2fa5d71e2d Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Fri, 18 Feb 2022 17:40:57 -0800 Subject: [PATCH] qsimd_p.h: group the two HWRNG-related functions Change-Id: Ic15405335d804bdea761fffd16d50c62ebdf6c0d Reviewed-by: Allan Sandfeld Jensen --- src/corelib/global/qsimd_p.h | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/src/corelib/global/qsimd_p.h b/src/corelib/global/qsimd_p.h index 8d3a63de7b3..ad769ee7a65 100644 --- a/src/corelib/global/qsimd_p.h +++ b/src/corelib/global/qsimd_p.h @@ -398,14 +398,23 @@ static inline quint64 qCpuFeatures() #define qCpuHasFeature(feature) (((qCompilerCpuFeatures & CpuFeature ## feature) == CpuFeature ## feature) \ || ((qCpuFeatures() & CpuFeature ## feature) == CpuFeature ## feature)) -inline bool qHasHwrng() +# if defined(Q_PROCESSOR_X86) && QT_COMPILER_SUPPORTS_HERE(RDRND) && !defined(QT_BOOTSTRAPPED) +Q_CORE_EXPORT qsizetype qRandomCpu(void *, qsizetype) noexcept; + +static inline bool qHasHwrng() { -#if defined(Q_PROCESSOR_X86) && QT_COMPILER_SUPPORTS_HERE(RDRND) return qCpuHasFeature(RDRND); -#else - return false; -#endif } +# else +static inline qsizetype qRandomCpu(void *, qsizetype) noexcept +{ + return 0; +} +static inline bool qHasHwrng() +{ + return false; +} +# endif QT_END_NAMESPACE