diff options
author | Marc Mutz <marc.mutz@qt.io> | 2021-12-28 09:06:53 +0100 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2022-01-03 11:23:17 +0000 |
commit | 7e2860d4158438d714f2f86cd65b35f4ab1e2a60 (patch) | |
tree | bcb3c963d04d6942c8d54ca9c70c5fa3fada686a /src/testlib/qtestdata.h | |
parent | 0b265eecc0cb8e3c97f36bc37cb155570cdd0483 (diff) |
QTestData: fix streaming of u8 string literals in C++20 mode
...fixing tst_QLocale:
QDEBUG : tst_QLocale::formatDate() expected data of type 'QString', got 'char8_t [64]' for element 1 of data with tag 'unicode in format string'
QFATAL : tst_QLocale::formatDate() ASSERT: false in file /home/marc/Qt/qtbase/src/testlib/qtestdata.cpp, line 105
In C++20, the type of u8 string literals changed from const char[] to
const char8_t[].
[ChangeLog][QtTest][QTestData] Fixed streaming of u8 string literals
in C++20 mode.
Task-number: QTBUG-99480
Task-number: QTBUG-99481
Change-Id: I53bd73522a4ebce307f360e225f25590f981d44a
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
(cherry picked from commit 7c8126d9099841fd0ccf643d36b963a75161aab9)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'src/testlib/qtestdata.h')
-rw-r--r-- | src/testlib/qtestdata.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/testlib/qtestdata.h b/src/testlib/qtestdata.h index cf10fed8f3..ed81a9de6e 100644 --- a/src/testlib/qtestdata.h +++ b/src/testlib/qtestdata.h @@ -85,6 +85,14 @@ inline QTestData &operator<<(QTestData &data, const char * value) return data; } +#ifdef __cpp_char8_t +Q_WEAK_OVERLOAD +inline QTestData &operator<<(QTestData &data, const char8_t *value) +{ + return data << reinterpret_cast<const char *>(value); +} +#endif + #ifdef QT_USE_QSTRINGBUILDER template<typename A, typename B> inline QTestData &operator<<(QTestData &data, const QStringBuilder<A, B> &value) |