path: root/src/corelib/text/qstring.h
diff options
authorMarc Mutz <>2022-01-26 14:00:20 +0100
committerMarc Mutz <>2022-01-27 04:25:17 +0100
commitcd3569d69adc61655d3c797f5cc764782e8bbe53 (patch)
treeee180a0df189bedba3d31ce3df2abcb0e6e55ad7 /src/corelib/text/qstring.h
parent88fd9a281a1be2563124fa67f43950edf08eb5f0 (diff)
QString: optimize compare_helper
For a long time now we have fast mixed UTF-16/UTF-8 comparisons. But no-one told this ol' relic, which still converted UTF-8 to UTF-16 for comparison. Fix by using QtPrivate::compareStrings(QSV, QU8SV), which, as the central entry point, uses the fast-path. Consequently, compare_helper can now be noexcept. Pick-to: 6.3 6.2 Change-Id: I4cc9f07d9bc48628f1fe695e80015a9a07b79d6f Reviewed-by: Edward Welbourne <> Reviewed-by: Thiago Macieira <>
Diffstat (limited to 'src/corelib/text/qstring.h')
1 files changed, 1 insertions, 1 deletions
diff --git a/src/corelib/text/qstring.h b/src/corelib/text/qstring.h
index 8eb0dd630f..80139205af 100644
--- a/src/corelib/text/qstring.h
+++ b/src/corelib/text/qstring.h
@@ -1106,7 +1106,7 @@ private:
Qt::CaseSensitivity cs = Qt::CaseSensitive) noexcept;
static int compare_helper(const QChar *data1, qsizetype length1,
const char *data2, qsizetype length2,
- Qt::CaseSensitivity cs = Qt::CaseSensitive);
+ Qt::CaseSensitivity cs = Qt::CaseSensitive) noexcept;
static int localeAwareCompare_helper(const QChar *data1, qsizetype length1,
const QChar *data2, qsizetype length2);
static QString toLower_helper(const QString &str);