diff options
author | Mårten Nordheim <marten.nordheim@qt.io> | 2022-09-24 13:54:42 +0200 |
---|---|---|
committer | Mårten Nordheim <marten.nordheim@qt.io> | 2022-09-27 23:30:30 +0200 |
commit | 7fea2d34fb3e9d13deb584595d119c870389b912 (patch) | |
tree | 44f3b7af88f26486e91f03348840372ffbe29e2e /tests/benchmarks/corelib/tools/qhash | |
parent | 6457f1ee71e5de3b14bc30b9e9a22d3a7534a196 (diff) |
Update tst_bench_qhash hash functions to use size_t
Pre-requisite for a fix for qHash. The Qt50String inherits from QString
and becomes ambiguous once it no longer goes through a catch-all
template function because qHash(QString, size_t) has a better match for
the second argument.
Pick-to: 6.2 6.4
Change-Id: I23c7afb1b3aa167d40dc4838e82b7763de015f6b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'tests/benchmarks/corelib/tools/qhash')
-rw-r--r-- | tests/benchmarks/corelib/tools/qhash/outofline.cpp | 14 | ||||
-rw-r--r-- | tests/benchmarks/corelib/tools/qhash/tst_bench_qhash.h | 6 |
2 files changed, 10 insertions, 10 deletions
diff --git a/tests/benchmarks/corelib/tools/qhash/outofline.cpp b/tests/benchmarks/corelib/tools/qhash/outofline.cpp index c8adc73da4..28c8ad6459 100644 --- a/tests/benchmarks/corelib/tools/qhash/outofline.cpp +++ b/tests/benchmarks/corelib/tools/qhash/outofline.cpp @@ -5,9 +5,9 @@ QT_BEGIN_NAMESPACE -uint qHash(const Qt4String &str) +size_t qHash(const Qt4String &str) { - int n = str.length(); + qsizetype n = str.length(); const QChar *p = str.unicode(); uint h = 0; @@ -19,11 +19,11 @@ uint qHash(const Qt4String &str) return h; } -uint qHash(const Qt50String &key, uint seed) +size_t qHash(const Qt50String &key, size_t seed) { const QChar *p = key.unicode(); - int len = key.size(); - uint h = seed; + qsizetype len = key.size(); + size_t h = seed; for (int i = 0; i < len; ++i) h = 31 * h + p[i].unicode(); return h; @@ -40,10 +40,10 @@ uint qHash(const Qt50String &key, uint seed) // Still, we can avoid writing the multiplication as "(h << 5) - h" // -- the compiler will turn it into a shift and an addition anyway // (for instance, gcc 4.4 does that even at -O0). -uint qHash(const JavaString &str) +size_t qHash(const JavaString &str) { const unsigned short *p = (unsigned short *)str.constData(); - const int len = str.size(); + const qsizetype len = str.size(); uint h = 0; diff --git a/tests/benchmarks/corelib/tools/qhash/tst_bench_qhash.h b/tests/benchmarks/corelib/tools/qhash/tst_bench_qhash.h index b566cb82db..f8a9d65f96 100644 --- a/tests/benchmarks/corelib/tools/qhash/tst_bench_qhash.h +++ b/tests/benchmarks/corelib/tools/qhash/tst_bench_qhash.h @@ -10,7 +10,7 @@ struct Qt4String : QString }; QT_BEGIN_NAMESPACE -uint qHash(const Qt4String &); +size_t qHash(const Qt4String &); QT_END_NAMESPACE struct Qt50String : QString @@ -20,7 +20,7 @@ struct Qt50String : QString }; QT_BEGIN_NAMESPACE -uint qHash(const Qt50String &, uint seed = 0); +size_t qHash(const Qt50String &, size_t seed = 0); QT_END_NAMESPACE @@ -31,6 +31,6 @@ struct JavaString : QString }; QT_BEGIN_NAMESPACE -uint qHash(const JavaString &); +size_t qHash(const JavaString &); QT_END_NAMESPACE |