summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/plugin/quuid/tst_quuid.cpp
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@qt.io>2023-09-14 18:22:12 +0200
committerMarc Mutz <marc.mutz@qt.io>2023-12-09 21:00:13 +0100
commitab910e09c713161f568a867a09af5a52eb79c35f (patch)
tree0c03a2cab401ad7d806389edc51d19769461df86 /tests/auto/corelib/plugin/quuid/tst_quuid.cpp
parentf9f1272e7c438b79591032877f2b386af8085c3f (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