diff options
author | Marc Mutz <marc.mutz@kdab.com> | 2012-09-20 16:36:51 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2012-09-23 23:29:42 +0200 |
commit | e44f1dabe44f4979da5da7d5d50395883f3de684 (patch) | |
tree | fed290bdb7e900c5bf5855cb1dae7979ca14e6f1 /src/testlib/qtestcase.cpp | |
parent | ef23f5d9bd3d82a6a1b5c3adb50d6ad4bfe127bb (diff) |
QTestLib: clean up qCompare specialisation/overload mix
qCompare() was both overloaded and specialised, but always as a template.
This lead to the QIcon specialisation actually invoking
qCompare(QFlags<void*>, ...)
when specifically asking for qCompare<void*>() (detected by adding
underlying-type detection to QFlags).
Fix by preferring overloading and not specialising anything.
Change-Id: Ie001ebb9dfb0847c6c33a3f45177a61579fd61ee
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Diffstat (limited to 'src/testlib/qtestcase.cpp')
-rw-r--r-- | src/testlib/qtestcase.cpp | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/testlib/qtestcase.cpp b/src/testlib/qtestcase.cpp index 6f95240482..3c9d2a8307 100644 --- a/src/testlib/qtestcase.cpp +++ b/src/testlib/qtestcase.cpp @@ -2542,22 +2542,20 @@ bool QTest::compare_helper(bool success, const char *failureMsg, return QTestResult::compare(success, failureMsg, val1, val2, actual, expected, file, line); } -/*! \fn bool QTest::qCompare<float>(float const &t1, float const &t2, const char *actual, const char *expected, const char *file, int line) +/*! \fn bool QTest::qCompare(float const &t1, float const &t2, const char *actual, const char *expected, const char *file, int line) \internal */ -template <> -Q_TESTLIB_EXPORT bool QTest::qCompare<float>(float const &t1, float const &t2, const char *actual, const char *expected, +bool QTest::qCompare(float const &t1, float const &t2, const char *actual, const char *expected, const char *file, int line) { return compare_helper(qFuzzyCompare(t1, t2), "Compared floats are not the same (fuzzy compare)", toString(t1), toString(t2), actual, expected, file, line); } -/*! \fn bool QTest::qCompare<double>(double const &t1, double const &t2, const char *actual, const char *expected, const char *file, int line) +/*! \fn bool QTest::qCompare(double const &t1, double const &t2, const char *actual, const char *expected, const char *file, int line) \internal */ -template <> -Q_TESTLIB_EXPORT bool QTest::qCompare<double>(double const &t1, double const &t2, const char *actual, const char *expected, +bool QTest::qCompare(double const &t1, double const &t2, const char *actual, const char *expected, const char *file, int line) { return compare_helper(qFuzzyCompare(t1, t2), "Compared doubles are not the same (fuzzy compare)", |