summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/global/qlogging
diff options
context:
space:
mode:
authorDavid Faure <david.faure@kdab.com>2023-07-10 17:30:07 +0200
committerDavid Faure <david.faure@kdab.com>2023-07-11 02:37:58 +0200
commit056bdef045867dad07066351787b2edb771be569 (patch)
tree00c6dd9ec50018ab80ccba924634f296c36d03e6 /tests/auto/corelib/global/qlogging
parent8c18a245b0245de20c064cd53d03498088bd57df (diff)
Fix assert in qCleanupFuncInfo when using QDebug from a lambda with auto
ASSERT: "size_t(i) < size_t(size())" in file qbytearray.h, line 492 due to info being emptied out completely and then the code does while ((info.at(0) == '*') info was empty because the recent fix "that wasn't the function argument list" would exit the loop with pos at end. Incidentally, this change fixes the fact that qCleanupFuncInfo was removing lambdas: main(int, char**)::<lambda()> became main(int, char**):: which was, well, shorted, but weird. Pick-to: 6.6 6.5 Change-Id: Ic7e8f21ea0df7ef96a3f25c4136a727dc0def207 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'tests/auto/corelib/global/qlogging')
-rw-r--r--tests/auto/corelib/global/qlogging/tst_qlogging.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/tests/auto/corelib/global/qlogging/tst_qlogging.cpp b/tests/auto/corelib/global/qlogging/tst_qlogging.cpp
index 665da3ff22..0083cf4bfb 100644
--- a/tests/auto/corelib/global/qlogging/tst_qlogging.cpp
+++ b/tests/auto/corelib/global/qlogging/tst_qlogging.cpp
@@ -625,6 +625,14 @@ void tst_qmessagehandler::cleanupFuncinfo_data()
<< "void `void function<Polymorphic<void __cdecl(int *)> >(void)'::`2'::S::f(Polymorphic<void __cdecl(int *)> *)"
<< "function(void)'::`2'::S::f";
+ QTest::newRow("gcc_lambda_1") << "main(int, char**)::<lambda()>"
+ << "main(int, char**)::<lambda()>";
+
+ QTest::newRow("gcc_lambda_with_auto_1")
+ << "SomeClass::someMethod(const QString&, const QString&)::<lambda(auto:57)> [with "
+ "auto:57 = QNetworkReply::NetworkError]"
+ << "SomeClass::someMethod(const QString&, const QString&)::<lambda(auto:57)>";
+
QTest::newRow("objc_1")
<< "-[SomeClass someMethod:withArguments:]"
<< "-[SomeClass someMethod:withArguments:]";