diff options
author | Marc Mutz <marc.mutz@qt.io> | 2023-09-14 18:22:12 +0200 |
---|---|---|
committer | Marc Mutz <marc.mutz@qt.io> | 2023-12-09 21:00:13 +0100 |
commit | ab910e09c713161f568a867a09af5a52eb79c35f (patch) | |
tree | 0c03a2cab401ad7d806389edc51d19769461df86 /tests/auto/corelib/plugin/quuid/tst_quuid.cpp | |
parent | f9f1272e7c438b79591032877f2b386af8085c3f (diff) |
Long live QDebug::operator<<(q(u)int128)!
Replace the ad-hoc implementation of QTest::toString() in
tst_qglobal.cpp with a QDebug stream operator, so the
QTest::toString() fall-back to QDebug::toString() kicks in.
Since the ABI issues revolving around the new int128 types are not
known, yet, avoid baking the types into the ABI by a) making the
operators constrained templates¹ and b) passing though void* to the
exported helpers. These functions return an error message if Qt was
compiled without support for int128.
Use the Thiago Trick™ (leaving obviouly dead code around for the
compiler to remove without warning) to expose more code to more
compilers. This appears to work elsewhere in Qt, so I hope it does
here, too.
This completes the minimum qint128 support so we're able to debug code
and write tests that use these types.
¹ Templates, unlike inline member functions of wholly-exported
classes, never² become part of the ABI.
² <insert here the convoluted scenario under which this is false>
Fixes: QTBUG-117011
Change-Id: Ia4e56d26c6ffd18b7d69a7ceaed65b2211d258b2
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Diffstat (limited to 'tests/auto/corelib/plugin/quuid/tst_quuid.cpp')
0 files changed, 0 insertions, 0 deletions