Replace QT_USE_FAST_{OPERATOR_PLUS,CONCATENTION} by QT_USE_QSTRINGBUILDER

QT_USE_FAST_CONCATENATION doesn't do anything nowadays.

Using QT_USE_QSTRINGBUILDER is the same as QT_USE_FAST_OPERATOR_PLUS
for QStrings and enables more QStringBuilder use for QByteArrays.

Change-Id: Ibd297817c50d86661d47822799f989447249af1b
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
hjk
2020-08-06 14:02:05 +02:00
parent e69d90bc1a
commit 52b2ca55c9
16 changed files with 44 additions and 51 deletions

View File

@@ -88,8 +88,7 @@ Module {
"QT_NO_CAST_TO_ASCII", "QT_NO_CAST_TO_ASCII",
"QT_RESTRICTED_CAST_FROM_ASCII", "QT_RESTRICTED_CAST_FROM_ASCII",
"QT_DISABLE_DEPRECATED_BEFORE=0x050900", "QT_DISABLE_DEPRECATED_BEFORE=0x050900",
"QT_USE_FAST_OPERATOR_PLUS", "QT_USE_QSTRINGBUILDER",
"QT_USE_FAST_CONCATENATION",
].concat(testsEnabled ? ["WITH_TESTS"] : []) ].concat(testsEnabled ? ["WITH_TESTS"] : [])
.concat(qbs.toolchain.contains("msvc") ? ["_CRT_SECURE_NO_WARNINGS"] : []) .concat(qbs.toolchain.contains("msvc") ? ["_CRT_SECURE_NO_WARNINGS"] : [])

View File

@@ -213,8 +213,7 @@ DEFINES += \
QT_NO_CAST_TO_ASCII \ QT_NO_CAST_TO_ASCII \
QT_RESTRICTED_CAST_FROM_ASCII \ QT_RESTRICTED_CAST_FROM_ASCII \
QT_DISABLE_DEPRECATED_BEFORE=0x050900 \ QT_DISABLE_DEPRECATED_BEFORE=0x050900 \
QT_USE_FAST_OPERATOR_PLUS \ QT_USE_QSTRINGBUILDER
QT_USE_FAST_CONCATENATION
unix { unix {
CONFIG(debug, debug|release):OBJECTS_DIR = $${OUT_PWD}/.obj/debug-shared CONFIG(debug, debug|release):OBJECTS_DIR = $${OUT_PWD}/.obj/debug-shared

View File

@@ -22,8 +22,7 @@
"-DQT_NO_CAST_TO_ASCII", "-DQT_NO_CAST_TO_ASCII",
"-DQT_RESTRICTED_CAST_FROM_ASCII", "-DQT_RESTRICTED_CAST_FROM_ASCII",
"-DQT_DISABLE_DEPRECATED_BEFORE=0x050600", "-DQT_DISABLE_DEPRECATED_BEFORE=0x050600",
"-DQT_USE_FAST_OPERATOR_PLUS", "-DQT_USE_QSTRINGBUILDER",
"-DQT_USE_FAST_CONCATENATION",
"-DSRCDIR=\"C:/qt-creator/src/plugins/cpptools\"", "-DSRCDIR=\"C:/qt-creator/src/plugins/cpptools\"",
"-DQT_QML_DEBUG", "-DQT_QML_DEBUG",
"-DQT_PLUGIN", "-DQT_PLUGIN",

View File

@@ -427,11 +427,11 @@ static void enumTestCase(const QByteArray &tag, const QByteArray &source,
QTest::newRow(tag) << fullSource << (prefix + "val") QTest::newRow(tag) << fullSource << (prefix + "val")
<< QStringList({"val1", "val2", "val3"}); << QStringList({"val1", "val2", "val3"});
QTest::newRow(tag + "_cxx11") << fullSource << (prefix + "E::") QTest::newRow(QByteArray{tag + "_cxx11"}) << fullSource << QByteArray{prefix + "E::"}
<< QStringList({"E", "val1", "val2", "val3"}); << QStringList({"E", "val1", "val2", "val3"});
fullSource.replace("enum E ", "enum "); fullSource.replace("enum E ", "enum ");
QTest::newRow(tag + "_anon") << fullSource << (prefix + "val") QTest::newRow(QByteArray{tag + "_anon"}) << fullSource << QByteArray{prefix + "val"}
<< QStringList({"val1", "val2", "val3"}); << QStringList({"val1", "val2", "val3"});
} }

View File

@@ -1,5 +1,3 @@
# DEFINES += QT_USE_FAST_OPERATOR_PLUS
# DEFINES += QT_USE_FAST_CONCATENATION
# CONFIG += single # CONFIG += single
include(../../qtcreatorplugin.pri) include(../../qtcreatorplugin.pri)

View File

@@ -395,15 +395,16 @@ PerfConfigEventsModel::EventDescription PerfConfigEventsModel::parseEvent(
if (!extras.isEmpty()) { if (!extras.isEmpty()) {
QMetaEnum operationMeta = QMetaEnum::fromType<Operation>(); QMetaEnum operationMeta = QMetaEnum::fromType<Operation>();
int operation = operationMeta.keyToValue(QByteArray("Operation") int operation = operationMeta.keyToValue(
+ extras.takeFirst().toLatin1()); QByteArray{"Operation" + extras.takeFirst().toLatin1()});
if (operation != -1) if (operation != -1)
description.operation = operation; description.operation = operation;
} }
if (!extras.isEmpty()) { if (!extras.isEmpty()) {
QMetaEnum resultMeta = QMetaEnum::fromType<Result>(); QMetaEnum resultMeta = QMetaEnum::fromType<Result>();
int result = resultMeta.keyToValue(QByteArray("Result") + extras.takeFirst().toLatin1()); int result = resultMeta.keyToValue(
QByteArray{"Result" + extras.takeFirst().toLatin1()});
if (result != -1) if (result != -1)
description.result = Result(result); description.result = Result(result);
} }

View File

@@ -402,7 +402,7 @@ QString saveImageFileFilter()
{ {
const auto imageFormats = QImageWriter::supportedImageFormats(); const auto imageFormats = QImageWriter::supportedImageFormats();
const QByteArrayList supportedFormats = Utils::transform(imageFormats, [](const QByteArray &in) const QByteArrayList supportedFormats = Utils::transform(imageFormats, [](const QByteArray &in)
{ return QByteArray("*.") + in; }); { return QByteArray{"*." + in}; });
return MainWidget::tr("Images (%1)").arg(QString::fromUtf8(supportedFormats.join(' '))); return MainWidget::tr("Images (%1)").arg(QString::fromUtf8(supportedFormats.join(' ')));
} }

View File

@@ -1258,20 +1258,20 @@ void tst_Dumpers::dumper()
if (data.neededGdbVersion.isRestricted && m_debuggerEngine == GdbEngine) { if (data.neededGdbVersion.isRestricted && m_debuggerEngine == GdbEngine) {
if (data.neededGdbVersion.min > m_debuggerVersion) if (data.neededGdbVersion.min > m_debuggerVersion)
MSKIP_SINGLE("Need minimum GDB version " MSKIP_SINGLE(QByteArray("Need minimum GDB version "
+ QByteArray::number(data.neededGdbVersion.min)); + QByteArray::number(data.neededGdbVersion.min)));
if (data.neededGdbVersion.max < m_debuggerVersion) if (data.neededGdbVersion.max < m_debuggerVersion)
MSKIP_SINGLE("Need maximum GDB version " MSKIP_SINGLE(QByteArray("Need maximum GDB version "
+ QByteArray::number(data.neededGdbVersion.max)); + QByteArray::number(data.neededGdbVersion.max)));
} }
if (data.neededLldbVersion.isRestricted && m_debuggerEngine == LldbEngine) { if (data.neededLldbVersion.isRestricted && m_debuggerEngine == LldbEngine) {
if (data.neededLldbVersion.min > m_debuggerVersion) if (data.neededLldbVersion.min > m_debuggerVersion)
MSKIP_SINGLE("Need minimum LLDB version " MSKIP_SINGLE(QByteArray("Need minimum LLDB version "
+ QByteArray::number(data.neededLldbVersion.min)); + QByteArray::number(data.neededLldbVersion.min)));
if (data.neededLldbVersion.max < m_debuggerVersion) if (data.neededLldbVersion.max < m_debuggerVersion)
MSKIP_SINGLE("Need maximum LLDB version " MSKIP_SINGLE(QByteArray("Need maximum LLDB version "
+ QByteArray::number(data.neededLldbVersion.max)); + QByteArray::number(data.neededLldbVersion.max)));
} }
QByteArray output; QByteArray output;
@@ -1300,11 +1300,11 @@ void tst_Dumpers::dumper()
m_qtVersion = 0x10000 * major + 0x100 * minor + patch; m_qtVersion = 0x10000 * major + 0x100 * minor + patch;
if (data.neededQtVersion.min > m_qtVersion) if (data.neededQtVersion.min > m_qtVersion)
MSKIP_SINGLE("Need minimum Qt version " MSKIP_SINGLE(QByteArray("Need minimum Qt version "
+ QByteArray::number(data.neededQtVersion.min, 16)); + QByteArray::number(data.neededQtVersion.min, 16)));
if (data.neededQtVersion.max < m_qtVersion) if (data.neededQtVersion.max < m_qtVersion)
MSKIP_SINGLE("Need maximum Qt version " MSKIP_SINGLE(QByteArray("Need maximum Qt version "
+ QByteArray::number(data.neededQtVersion.max, 16)); + QByteArray::number(data.neededQtVersion.max, 16)));
} }
if (data.neededGccVersion.isRestricted) { if (data.neededGccVersion.isRestricted) {
@@ -1336,20 +1336,20 @@ void tst_Dumpers::dumper()
qDebug() << "GCC version: " << m_gccVersion; qDebug() << "GCC version: " << m_gccVersion;
if (data.neededGccVersion.min > m_gccVersion) if (data.neededGccVersion.min > m_gccVersion)
MSKIP_SINGLE("Need minimum GCC version " MSKIP_SINGLE(QByteArray("Need minimum GCC version "
+ QByteArray::number(data.neededGccVersion.min)); + QByteArray::number(data.neededGccVersion.min)));
if (data.neededGccVersion.max < m_gccVersion) if (data.neededGccVersion.max < m_gccVersion)
MSKIP_SINGLE("Need maximum GCC version " MSKIP_SINGLE(QByteArray("Need maximum GCC version "
+ QByteArray::number(data.neededGccVersion.max)); + QByteArray::number(data.neededGccVersion.max)));
} }
if (data.neededMsvcVersion.isRestricted && m_debuggerEngine == CdbEngine) { if (data.neededMsvcVersion.isRestricted && m_debuggerEngine == CdbEngine) {
if (data.neededMsvcVersion.min > m_msvcVersion) if (data.neededMsvcVersion.min > m_msvcVersion)
MSKIP_SINGLE("Need minimum Msvc version " MSKIP_SINGLE(QByteArray("Need minimum Msvc version "
+ QByteArray::number(data.neededMsvcVersion.min)); + QByteArray::number(data.neededMsvcVersion.min)));
if (data.neededMsvcVersion.max < m_msvcVersion) if (data.neededMsvcVersion.max < m_msvcVersion)
MSKIP_SINGLE("Need maximum Msvc version " MSKIP_SINGLE(QByteArray("Need maximum Msvc version "
+ QByteArray::number(data.neededMsvcVersion.max)); + QByteArray::number(data.neededMsvcVersion.max)));
} }
if (!data.configTest.executable.isEmpty()) { if (!data.configTest.executable.isEmpty()) {
@@ -1617,11 +1617,11 @@ void tst_Dumpers::dumper()
qDebug() << "DWARF Version : " << dwarfVersion; qDebug() << "DWARF Version : " << dwarfVersion;
if (data.neededDwarfVersion.min > dwarfVersion) if (data.neededDwarfVersion.min > dwarfVersion)
MSKIP_SINGLE("Need minimum DWARF version " MSKIP_SINGLE(QByteArray("Need minimum DWARF version "
+ QByteArray::number(data.neededDwarfVersion.min)); + QByteArray::number(data.neededDwarfVersion.min)));
if (data.neededDwarfVersion.max < dwarfVersion) if (data.neededDwarfVersion.max < dwarfVersion)
MSKIP_SINGLE("Need maximum DWARF version " MSKIP_SINGLE(QByteArray("Need maximum DWARF version "
+ QByteArray::number(data.neededDwarfVersion.max)); + QByteArray::number(data.neededDwarfVersion.max)));
} }
QByteArray dumperDir = DUMPERDIR; QByteArray dumperDir = DUMPERDIR;

View File

@@ -32,7 +32,7 @@
#include <cctype> #include <cctype>
const char *toString(char c) { return (QByteArray("'") + c + "'").constData(); } const QByteArray toString(char c) { return QByteArray("'") + c + "'"; }
using namespace Debugger::Internal; using namespace Debugger::Internal;
using namespace QTest; using namespace QTest;
@@ -349,7 +349,7 @@ void NameDemanglerAutoTest::testDisjunctFirstSets()
|| !FunctionParamNode::mangledRepresentationStartsWith(c)); || !FunctionParamNode::mangledRepresentationStartsWith(c));
QVERIFY2(!OperatorNameNode::mangledRepresentationStartsWith(c) QVERIFY2(!OperatorNameNode::mangledRepresentationStartsWith(c)
|| !UnresolvedNameNode::mangledRepresentationStartsWith(c) || !UnresolvedNameNode::mangledRepresentationStartsWith(c)
|| c == 'd' || c == 'g' || c == 'o' || c == 's', toString(c)); || c == 'd' || c == 'g' || c == 'o' || c == 's', toString(c).constData());
QVERIFY(!OperatorNameNode::mangledRepresentationStartsWith(c) QVERIFY(!OperatorNameNode::mangledRepresentationStartsWith(c)
|| !ExprPrimaryNode::mangledRepresentationStartsWith(c)); || !ExprPrimaryNode::mangledRepresentationStartsWith(c));
QVERIFY(!TemplateParamNode::mangledRepresentationStartsWith(c) QVERIFY(!TemplateParamNode::mangledRepresentationStartsWith(c)
@@ -373,7 +373,7 @@ void NameDemanglerAutoTest::testDisjunctFirstSets()
QVERIFY(!BuiltinTypeNode::mangledRepresentationStartsWith(c) QVERIFY(!BuiltinTypeNode::mangledRepresentationStartsWith(c)
|| !FunctionTypeNode::mangledRepresentationStartsWith(c)); || !FunctionTypeNode::mangledRepresentationStartsWith(c));
QVERIFY2(!BuiltinTypeNode::mangledRepresentationStartsWith(c) QVERIFY2(!BuiltinTypeNode::mangledRepresentationStartsWith(c)
|| !ClassEnumTypeRule::mangledRepresentationStartsWith(c) || c == 'D', toString(c)); || !ClassEnumTypeRule::mangledRepresentationStartsWith(c) || c == 'D', toString(c).constData());
QVERIFY(!BuiltinTypeNode::mangledRepresentationStartsWith(c) QVERIFY(!BuiltinTypeNode::mangledRepresentationStartsWith(c)
|| !ArrayTypeNode::mangledRepresentationStartsWith(c)); || !ArrayTypeNode::mangledRepresentationStartsWith(c));
QVERIFY(!BuiltinTypeNode::mangledRepresentationStartsWith(c) QVERIFY(!BuiltinTypeNode::mangledRepresentationStartsWith(c)

View File

@@ -27,7 +27,7 @@ QtcAutotest {
files: "tst_profilewriter.cpp" files: "tst_profilewriter.cpp"
} }
cpp.includePaths: base.concat([proParserGroup.prefix]) cpp.includePaths: base.concat([proParserGroup.prefix])
cpp.defines: base.concat("QT_USE_FAST_OPERATOR_PLUS") cpp.defines: base.concat("QT_USE_QSTRINGBUILDER")
Properties { Properties {
condition: qbs.targetOS.contains("windows") condition: qbs.targetOS.contains("windows")
cpp.dynamicLibraries: "advapi32" cpp.dynamicLibraries: "advapi32"

View File

@@ -1,6 +1,6 @@
QTC_LIB_DEPENDS += utils QTC_LIB_DEPENDS += utils
include(../../qttest.pri) include(../../qttest.pri)
DEFINES -= QT_USE_FAST_OPERATOR_PLUS QT_USE_FAST_CONCATENATION DEFINES -= QT_USE_QSTRINGBUILDER
SOURCES += tst_stringutils.cpp SOURCES += tst_stringutils.cpp

View File

@@ -4,8 +4,7 @@ QtcAutotest {
name: "StringUtils autotest" name: "StringUtils autotest"
Depends { name: "Utils" } Depends { name: "Utils" }
cpp.defines: base.filter(function(d) { cpp.defines: base.filter(function(d) {
return d !== "QT_USE_FAST_OPERATOR_PLUS" return d !== "QT_USE_QSTRINGBUILDER";
&& d !== "QT_USE_FAST_CONCATENATION";
}) })
files: "tst_stringutils.cpp" files: "tst_stringutils.cpp"
} }

View File

@@ -1,6 +1,6 @@
QTC_LIB_DEPENDS += utils QTC_LIB_DEPENDS += utils
include(../../qttest.pri) include(../../qttest.pri)
DEFINES -= QT_USE_FAST_OPERATOR_PLUS QT_USE_FAST_CONCATENATION DEFINES -= QT_USE_QSTRINGBUILDER
SOURCES += tst_templateengine.cpp SOURCES += tst_templateengine.cpp

View File

@@ -4,8 +4,7 @@ QtcAutotest {
name: "TemplateEngine autotest" name: "TemplateEngine autotest"
Depends { name: "Utils" } Depends { name: "Utils" }
cpp.defines: base.filter(function(d) { cpp.defines: base.filter(function(d) {
return d !== "QT_USE_FAST_OPERATOR_PLUS" return d !== "QT_USE_QSTRINGBUILDER";
&& d !== "QT_USE_FAST_CONCATENATION";
}) })
files: "tst_templateengine.cpp" files: "tst_templateengine.cpp"
} }

View File

@@ -43,7 +43,7 @@ RESOURCES += proparser.qrc
DEFINES += QMAKE_BUILTIN_PRFS DEFINES += QMAKE_BUILTIN_PRFS
DEFINES += QT_NO_CAST_TO_ASCII QT_RESTRICTED_CAST_FROM_ASCII DEFINES += QT_NO_CAST_TO_ASCII QT_RESTRICTED_CAST_FROM_ASCII
DEFINES += QT_USE_FAST_OPERATOR_PLUS QT_USE_FAST_CONCATENATION DEFINES += QT_USE_QSTRINGBUILDER
DEFINES += PROEVALUATOR_FULL PROEVALUATOR_CUMULATIVE PROEVALUATOR_INIT_PROPS DEFINES += PROEVALUATOR_FULL PROEVALUATOR_CUMULATIVE PROEVALUATOR_INIT_PROPS
win32: LIBS *= -ladvapi32 win32: LIBS *= -ladvapi32

View File

@@ -19,8 +19,7 @@ requires(isEmpty(QTC_CLANG_BUILDMODE_MISMATCH))
DEFINES += \ DEFINES += \
QT_NO_CAST_TO_ASCII \ QT_NO_CAST_TO_ASCII \
QT_RESTRICTED_CAST_FROM_ASCII \ QT_RESTRICTED_CAST_FROM_ASCII \
QT_USE_FAST_OPERATOR_PLUS \ QT_USE_QSTRINGBUILDER \
QT_USE_FAST_CONCATENATION \
UNIT_TESTS \ UNIT_TESTS \
DONT_CHECK_MESSAGE_COUNTER \ DONT_CHECK_MESSAGE_COUNTER \
QTC_RESOURCE_DIR=\"R\\\"xxx($$PWD/../../../share/qtcreator)xxx\\\"\" \ QTC_RESOURCE_DIR=\"R\\\"xxx($$PWD/../../../share/qtcreator)xxx\\\"\" \