From 6fff7bb2692ecda1cff8624f5eccc0a2528fb693 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Fri, 21 May 2021 09:53:40 +0200 Subject: [PATCH] QTestlib: Fix formatting of pointers in QCOMPARE After 1ed8a7bff503aacf55f7f880ddaad461ea15e5e1, volatile needs to be specified for toString(), else it is not used by compare_ptr_helper(). Add an overload. Pick-to: 6.1 5.15 Change-Id: I3c335f324df346233623272d1014c8360ca33160 Reviewed-by: Thiago Macieira --- src/testlib/qtestcase.cpp | 5 +++++ src/testlib/qtestcase.h | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/testlib/qtestcase.cpp b/src/testlib/qtestcase.cpp index 6cec3f7fb2e..fbb73d5e483 100644 --- a/src/testlib/qtestcase.cpp +++ b/src/testlib/qtestcase.cpp @@ -2810,6 +2810,11 @@ char *QTest::toString(const char *str) /*! \internal */ +char *QTest::toString(const volatile void *p) // Use volatile to match compare_ptr_helper() +{ + return QTest::toString(const_cast(p)); +} + char *QTest::toString(const void *p) { char *msg = new char[128]; diff --git a/src/testlib/qtestcase.h b/src/testlib/qtestcase.h index def2ff9da5e..3fe6d2d867d 100644 --- a/src/testlib/qtestcase.h +++ b/src/testlib/qtestcase.h @@ -295,7 +295,8 @@ namespace QTest Q_TESTLIB_EXPORT char *toPrettyCString(const char *unicode, int length); Q_TESTLIB_EXPORT char *toPrettyUnicode(QStringView string); Q_TESTLIB_EXPORT char *toString(const char *); - Q_TESTLIB_EXPORT char *toString(const void *); + Q_TESTLIB_EXPORT char *toString(const volatile void *); + Q_TESTLIB_EXPORT char *toString(const void *); // ### FIXME: Qt 7: Remove Q_TESTLIB_EXPORT void qInit(QObject *testObject, int argc = 0, char **argv = nullptr); Q_TESTLIB_EXPORT int qRun();