QHash: use the public functions to set the global hash seed

Task-number: QTBUG-47566
Change-Id: I4a7dc1fe14154695b968fffd14abd2e3189c6ad2
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
This commit is contained in:
Thiago Macieira 2017-03-14 11:26:14 -07:00 committed by Simon Hausmann
parent af9536deea
commit 755250f2f9
3 changed files with 7 additions and 12 deletions

View File

@ -26,6 +26,7 @@
**
****************************************************************************/
#include <qhashfunctions.h>
#include <qtest.h>
#define V4_AUTOTEST
@ -46,17 +47,12 @@ private slots:
void moveMapping_2();
};
QT_BEGIN_NAMESPACE
// Avoid QHash randomization so that the temp numbering is stable.
extern Q_CORE_EXPORT QBasicAtomicInt qt_qhash_seed; // from qhash.cpp
QT_END_NAMESPACE
using namespace QT_PREPEND_NAMESPACE(QV4::IR);
void tst_v4misc::initTestCase()
{
qt_qhash_seed.store(0);
QCOMPARE(qt_qhash_seed.load(), 0);
qSetGlobalQHashSeed(0);
QCOMPARE(qGlobalQHashSeed(), 0);
}
// split between two ranges

View File

@ -29,6 +29,7 @@
#include <QtCore/QTimer>
#include <QtCore/QDebug>
#include <QtCore/QFileInfo>
#include <QtCore/QHashFunctions>
#include <QtGui/QGuiApplication>
#include <QtGui/QImage>
@ -134,11 +135,9 @@ private:
};
Q_CORE_EXPORT extern QBasicAtomicInt qt_qhash_seed;
int main(int argc, char *argv[])
{
qt_qhash_seed = 0;
qSetGlobalQHashSeed(0);
QGuiApplication a(argc, argv);

View File

@ -32,13 +32,13 @@
#include <QFile>
#include <QFileInfo>
#include <QDateTime>
#include <QHashFunctions>
#include <private/qqmlirbuilder_p.h>
#include <private/qv4isel_moth_p.h>
#include <private/qqmljsparser_p.h>
QT_BEGIN_NAMESPACE
extern Q_CORE_EXPORT QBasicAtomicInt qt_qhash_seed;
namespace QV4 { namespace JIT {
Q_QML_EXPORT QV4::EvalISelFactory *createISelForArchitecture(const QString &architecture);
@ -291,7 +291,7 @@ static bool compileJSFile(const QString &inputFileName, const QString &outputFil
int main(int argc, char **argv)
{
// Produce reliably the same output for the same input by disabling QHash's random seeding.
qt_qhash_seed.testAndSetRelaxed(-1, 0);
qSetGlobalQHashSeed(0);
QCoreApplication app(argc, argv);
QCoreApplication::setApplicationName(QStringLiteral("qmlcachegen"));