From 52b2ca55c9ba0cbb33099c88b529c046bb27a252 Mon Sep 17 00:00:00 2001 From: hjk Date: Thu, 6 Aug 2020 14:02:05 +0200 Subject: [PATCH] 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 --- qbs/modules/qtc/qtc.qbs | 3 +- qtcreator.pri | 3 +- .../qtc/compile_commands.json | 3 +- src/plugins/cpptools/cppcompletion_test.cpp | 4 +- src/plugins/debugger/debugger.pro | 2 - .../perfprofiler/perfconfigeventsmodel.cpp | 7 +-- src/plugins/scxmleditor/common/mainwidget.cpp | 2 +- tests/auto/debugger/tst_dumpers.cpp | 48 +++++++++---------- tests/auto/debugger/tst_namedemangler.cpp | 6 +-- tests/auto/profilewriter/profilewriter.qbs | 2 +- tests/auto/utils/stringutils/stringutils.pro | 2 +- tests/auto/utils/stringutils/stringutils.qbs | 3 +- .../utils/templateengine/templateengine.pro | 2 +- .../utils/templateengine/templateengine.qbs | 3 +- tests/manual/proparser/testreader.pro | 2 +- tests/unit/unittest/unittest.pro | 3 +- 16 files changed, 44 insertions(+), 51 deletions(-) diff --git a/qbs/modules/qtc/qtc.qbs b/qbs/modules/qtc/qtc.qbs index e625dfabd93..78714952590 100644 --- a/qbs/modules/qtc/qtc.qbs +++ b/qbs/modules/qtc/qtc.qbs @@ -88,8 +88,7 @@ Module { "QT_NO_CAST_TO_ASCII", "QT_RESTRICTED_CAST_FROM_ASCII", "QT_DISABLE_DEPRECATED_BEFORE=0x050900", - "QT_USE_FAST_OPERATOR_PLUS", - "QT_USE_FAST_CONCATENATION", + "QT_USE_QSTRINGBUILDER", ].concat(testsEnabled ? ["WITH_TESTS"] : []) .concat(qbs.toolchain.contains("msvc") ? ["_CRT_SECURE_NO_WARNINGS"] : []) diff --git a/qtcreator.pri b/qtcreator.pri index 626d294db2c..189445a7c89 100644 --- a/qtcreator.pri +++ b/qtcreator.pri @@ -213,8 +213,7 @@ DEFINES += \ QT_NO_CAST_TO_ASCII \ QT_RESTRICTED_CAST_FROM_ASCII \ QT_DISABLE_DEPRECATED_BEFORE=0x050900 \ - QT_USE_FAST_OPERATOR_PLUS \ - QT_USE_FAST_CONCATENATION + QT_USE_QSTRINGBUILDER unix { CONFIG(debug, debug|release):OBJECTS_DIR = $${OUT_PWD}/.obj/debug-shared diff --git a/src/plugins/compilationdatabaseprojectmanager/database_samples/qtc/compile_commands.json b/src/plugins/compilationdatabaseprojectmanager/database_samples/qtc/compile_commands.json index d971ebbf09a..70b1905fe77 100644 --- a/src/plugins/compilationdatabaseprojectmanager/database_samples/qtc/compile_commands.json +++ b/src/plugins/compilationdatabaseprojectmanager/database_samples/qtc/compile_commands.json @@ -22,8 +22,7 @@ "-DQT_NO_CAST_TO_ASCII", "-DQT_RESTRICTED_CAST_FROM_ASCII", "-DQT_DISABLE_DEPRECATED_BEFORE=0x050600", - "-DQT_USE_FAST_OPERATOR_PLUS", - "-DQT_USE_FAST_CONCATENATION", + "-DQT_USE_QSTRINGBUILDER", "-DSRCDIR=\"C:/qt-creator/src/plugins/cpptools\"", "-DQT_QML_DEBUG", "-DQT_PLUGIN", diff --git a/src/plugins/cpptools/cppcompletion_test.cpp b/src/plugins/cpptools/cppcompletion_test.cpp index 44274da9548..09b1695e9a8 100644 --- a/src/plugins/cpptools/cppcompletion_test.cpp +++ b/src/plugins/cpptools/cppcompletion_test.cpp @@ -427,11 +427,11 @@ static void enumTestCase(const QByteArray &tag, const QByteArray &source, QTest::newRow(tag) << fullSource << (prefix + "val") << 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"}); 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"}); } diff --git a/src/plugins/debugger/debugger.pro b/src/plugins/debugger/debugger.pro index ec492d859fa..916eb693300 100644 --- a/src/plugins/debugger/debugger.pro +++ b/src/plugins/debugger/debugger.pro @@ -1,5 +1,3 @@ -# DEFINES += QT_USE_FAST_OPERATOR_PLUS -# DEFINES += QT_USE_FAST_CONCATENATION # CONFIG += single include(../../qtcreatorplugin.pri) diff --git a/src/plugins/perfprofiler/perfconfigeventsmodel.cpp b/src/plugins/perfprofiler/perfconfigeventsmodel.cpp index bdd419ec8cd..304adfa4a52 100644 --- a/src/plugins/perfprofiler/perfconfigeventsmodel.cpp +++ b/src/plugins/perfprofiler/perfconfigeventsmodel.cpp @@ -395,15 +395,16 @@ PerfConfigEventsModel::EventDescription PerfConfigEventsModel::parseEvent( if (!extras.isEmpty()) { QMetaEnum operationMeta = QMetaEnum::fromType(); - int operation = operationMeta.keyToValue(QByteArray("Operation") - + extras.takeFirst().toLatin1()); + int operation = operationMeta.keyToValue( + QByteArray{"Operation" + extras.takeFirst().toLatin1()}); if (operation != -1) description.operation = operation; } if (!extras.isEmpty()) { QMetaEnum resultMeta = QMetaEnum::fromType(); - int result = resultMeta.keyToValue(QByteArray("Result") + extras.takeFirst().toLatin1()); + int result = resultMeta.keyToValue( + QByteArray{"Result" + extras.takeFirst().toLatin1()}); if (result != -1) description.result = Result(result); } diff --git a/src/plugins/scxmleditor/common/mainwidget.cpp b/src/plugins/scxmleditor/common/mainwidget.cpp index 766161cfdf8..accc747e0ad 100644 --- a/src/plugins/scxmleditor/common/mainwidget.cpp +++ b/src/plugins/scxmleditor/common/mainwidget.cpp @@ -402,7 +402,7 @@ QString saveImageFileFilter() { const auto imageFormats = QImageWriter::supportedImageFormats(); 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(' '))); } diff --git a/tests/auto/debugger/tst_dumpers.cpp b/tests/auto/debugger/tst_dumpers.cpp index b0c7d267436..388c989c767 100644 --- a/tests/auto/debugger/tst_dumpers.cpp +++ b/tests/auto/debugger/tst_dumpers.cpp @@ -1258,20 +1258,20 @@ void tst_Dumpers::dumper() if (data.neededGdbVersion.isRestricted && m_debuggerEngine == GdbEngine) { if (data.neededGdbVersion.min > m_debuggerVersion) - MSKIP_SINGLE("Need minimum GDB version " - + QByteArray::number(data.neededGdbVersion.min)); + MSKIP_SINGLE(QByteArray("Need minimum GDB version " + + QByteArray::number(data.neededGdbVersion.min))); if (data.neededGdbVersion.max < m_debuggerVersion) - MSKIP_SINGLE("Need maximum GDB version " - + QByteArray::number(data.neededGdbVersion.max)); + MSKIP_SINGLE(QByteArray("Need maximum GDB version " + + QByteArray::number(data.neededGdbVersion.max))); } if (data.neededLldbVersion.isRestricted && m_debuggerEngine == LldbEngine) { if (data.neededLldbVersion.min > m_debuggerVersion) - MSKIP_SINGLE("Need minimum LLDB version " - + QByteArray::number(data.neededLldbVersion.min)); + MSKIP_SINGLE(QByteArray("Need minimum LLDB version " + + QByteArray::number(data.neededLldbVersion.min))); if (data.neededLldbVersion.max < m_debuggerVersion) - MSKIP_SINGLE("Need maximum LLDB version " - + QByteArray::number(data.neededLldbVersion.max)); + MSKIP_SINGLE(QByteArray("Need maximum LLDB version " + + QByteArray::number(data.neededLldbVersion.max))); } QByteArray output; @@ -1300,11 +1300,11 @@ void tst_Dumpers::dumper() m_qtVersion = 0x10000 * major + 0x100 * minor + patch; if (data.neededQtVersion.min > m_qtVersion) - MSKIP_SINGLE("Need minimum Qt version " - + QByteArray::number(data.neededQtVersion.min, 16)); + MSKIP_SINGLE(QByteArray("Need minimum Qt version " + + QByteArray::number(data.neededQtVersion.min, 16))); if (data.neededQtVersion.max < m_qtVersion) - MSKIP_SINGLE("Need maximum Qt version " - + QByteArray::number(data.neededQtVersion.max, 16)); + MSKIP_SINGLE(QByteArray("Need maximum Qt version " + + QByteArray::number(data.neededQtVersion.max, 16))); } if (data.neededGccVersion.isRestricted) { @@ -1336,20 +1336,20 @@ void tst_Dumpers::dumper() qDebug() << "GCC version: " << m_gccVersion; if (data.neededGccVersion.min > m_gccVersion) - MSKIP_SINGLE("Need minimum GCC version " - + QByteArray::number(data.neededGccVersion.min)); + MSKIP_SINGLE(QByteArray("Need minimum GCC version " + + QByteArray::number(data.neededGccVersion.min))); if (data.neededGccVersion.max < m_gccVersion) - MSKIP_SINGLE("Need maximum GCC version " - + QByteArray::number(data.neededGccVersion.max)); + MSKIP_SINGLE(QByteArray("Need maximum GCC version " + + QByteArray::number(data.neededGccVersion.max))); } if (data.neededMsvcVersion.isRestricted && m_debuggerEngine == CdbEngine) { if (data.neededMsvcVersion.min > m_msvcVersion) - MSKIP_SINGLE("Need minimum Msvc version " - + QByteArray::number(data.neededMsvcVersion.min)); + MSKIP_SINGLE(QByteArray("Need minimum Msvc version " + + QByteArray::number(data.neededMsvcVersion.min))); if (data.neededMsvcVersion.max < m_msvcVersion) - MSKIP_SINGLE("Need maximum Msvc version " - + QByteArray::number(data.neededMsvcVersion.max)); + MSKIP_SINGLE(QByteArray("Need maximum Msvc version " + + QByteArray::number(data.neededMsvcVersion.max))); } if (!data.configTest.executable.isEmpty()) { @@ -1617,11 +1617,11 @@ void tst_Dumpers::dumper() qDebug() << "DWARF Version : " << dwarfVersion; if (data.neededDwarfVersion.min > dwarfVersion) - MSKIP_SINGLE("Need minimum DWARF version " - + QByteArray::number(data.neededDwarfVersion.min)); + MSKIP_SINGLE(QByteArray("Need minimum DWARF version " + + QByteArray::number(data.neededDwarfVersion.min))); if (data.neededDwarfVersion.max < dwarfVersion) - MSKIP_SINGLE("Need maximum DWARF version " - + QByteArray::number(data.neededDwarfVersion.max)); + MSKIP_SINGLE(QByteArray("Need maximum DWARF version " + + QByteArray::number(data.neededDwarfVersion.max))); } QByteArray dumperDir = DUMPERDIR; diff --git a/tests/auto/debugger/tst_namedemangler.cpp b/tests/auto/debugger/tst_namedemangler.cpp index 42bafab0aaf..187d0312e2a 100644 --- a/tests/auto/debugger/tst_namedemangler.cpp +++ b/tests/auto/debugger/tst_namedemangler.cpp @@ -32,7 +32,7 @@ #include -const char *toString(char c) { return (QByteArray("'") + c + "'").constData(); } +const QByteArray toString(char c) { return QByteArray("'") + c + "'"; } using namespace Debugger::Internal; using namespace QTest; @@ -349,7 +349,7 @@ void NameDemanglerAutoTest::testDisjunctFirstSets() || !FunctionParamNode::mangledRepresentationStartsWith(c)); QVERIFY2(!OperatorNameNode::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) || !ExprPrimaryNode::mangledRepresentationStartsWith(c)); QVERIFY(!TemplateParamNode::mangledRepresentationStartsWith(c) @@ -373,7 +373,7 @@ void NameDemanglerAutoTest::testDisjunctFirstSets() QVERIFY(!BuiltinTypeNode::mangledRepresentationStartsWith(c) || !FunctionTypeNode::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) || !ArrayTypeNode::mangledRepresentationStartsWith(c)); QVERIFY(!BuiltinTypeNode::mangledRepresentationStartsWith(c) diff --git a/tests/auto/profilewriter/profilewriter.qbs b/tests/auto/profilewriter/profilewriter.qbs index a6fb8ca8794..5dafa5e9aae 100644 --- a/tests/auto/profilewriter/profilewriter.qbs +++ b/tests/auto/profilewriter/profilewriter.qbs @@ -27,7 +27,7 @@ QtcAutotest { files: "tst_profilewriter.cpp" } cpp.includePaths: base.concat([proParserGroup.prefix]) - cpp.defines: base.concat("QT_USE_FAST_OPERATOR_PLUS") + cpp.defines: base.concat("QT_USE_QSTRINGBUILDER") Properties { condition: qbs.targetOS.contains("windows") cpp.dynamicLibraries: "advapi32" diff --git a/tests/auto/utils/stringutils/stringutils.pro b/tests/auto/utils/stringutils/stringutils.pro index f9c4fe25648..1e1aacfaf5e 100644 --- a/tests/auto/utils/stringutils/stringutils.pro +++ b/tests/auto/utils/stringutils/stringutils.pro @@ -1,6 +1,6 @@ QTC_LIB_DEPENDS += utils include(../../qttest.pri) -DEFINES -= QT_USE_FAST_OPERATOR_PLUS QT_USE_FAST_CONCATENATION +DEFINES -= QT_USE_QSTRINGBUILDER SOURCES += tst_stringutils.cpp diff --git a/tests/auto/utils/stringutils/stringutils.qbs b/tests/auto/utils/stringutils/stringutils.qbs index 67dae5f643e..7467bca4b54 100644 --- a/tests/auto/utils/stringutils/stringutils.qbs +++ b/tests/auto/utils/stringutils/stringutils.qbs @@ -4,8 +4,7 @@ QtcAutotest { name: "StringUtils autotest" Depends { name: "Utils" } cpp.defines: base.filter(function(d) { - return d !== "QT_USE_FAST_OPERATOR_PLUS" - && d !== "QT_USE_FAST_CONCATENATION"; + return d !== "QT_USE_QSTRINGBUILDER"; }) files: "tst_stringutils.cpp" } diff --git a/tests/auto/utils/templateengine/templateengine.pro b/tests/auto/utils/templateengine/templateengine.pro index 53c4e77793c..17117dff7ee 100644 --- a/tests/auto/utils/templateengine/templateengine.pro +++ b/tests/auto/utils/templateengine/templateengine.pro @@ -1,6 +1,6 @@ QTC_LIB_DEPENDS += utils include(../../qttest.pri) -DEFINES -= QT_USE_FAST_OPERATOR_PLUS QT_USE_FAST_CONCATENATION +DEFINES -= QT_USE_QSTRINGBUILDER SOURCES += tst_templateengine.cpp diff --git a/tests/auto/utils/templateengine/templateengine.qbs b/tests/auto/utils/templateengine/templateengine.qbs index f3c719a168f..6fc5f83598d 100644 --- a/tests/auto/utils/templateengine/templateengine.qbs +++ b/tests/auto/utils/templateengine/templateengine.qbs @@ -4,8 +4,7 @@ QtcAutotest { name: "TemplateEngine autotest" Depends { name: "Utils" } cpp.defines: base.filter(function(d) { - return d !== "QT_USE_FAST_OPERATOR_PLUS" - && d !== "QT_USE_FAST_CONCATENATION"; + return d !== "QT_USE_QSTRINGBUILDER"; }) files: "tst_templateengine.cpp" } diff --git a/tests/manual/proparser/testreader.pro b/tests/manual/proparser/testreader.pro index 0e10613a1ab..d85d59f0556 100644 --- a/tests/manual/proparser/testreader.pro +++ b/tests/manual/proparser/testreader.pro @@ -43,7 +43,7 @@ RESOURCES += proparser.qrc DEFINES += QMAKE_BUILTIN_PRFS 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 win32: LIBS *= -ladvapi32 diff --git a/tests/unit/unittest/unittest.pro b/tests/unit/unittest/unittest.pro index dbe272985d0..e79342561a1 100644 --- a/tests/unit/unittest/unittest.pro +++ b/tests/unit/unittest/unittest.pro @@ -19,8 +19,7 @@ requires(isEmpty(QTC_CLANG_BUILDMODE_MISMATCH)) DEFINES += \ QT_NO_CAST_TO_ASCII \ QT_RESTRICTED_CAST_FROM_ASCII \ - QT_USE_FAST_OPERATOR_PLUS \ - QT_USE_FAST_CONCATENATION \ + QT_USE_QSTRINGBUILDER \ UNIT_TESTS \ DONT_CHECK_MESSAGE_COUNTER \ QTC_RESOURCE_DIR=\"R\\\"xxx($$PWD/../../../share/qtcreator)xxx\\\"\" \