summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2016-11-23 16:21:45 +0100
committerUlf Hermann <ulf.hermann@qt.io>2016-11-23 16:02:07 +0000
commit6fa9b98c7d67b4ffd7d859ad54b8213675c0e4bb (patch)
treeeb2e7986005ed03188e764a047b74e197bbb531d
parent30db0289dd354aec9cb0f81a2e6c71cbbc5aeb0c (diff)
Drop the --no-c++11 parameter from qscxmlc
We don't support C++98 anymore, so this is useless. Change-Id: Ie918567253af6d9309b601c7cfbc0205ec888048 Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
-rw-r--r--mkspecs/features/qscxmlc.prf2
-rw-r--r--tests/auto/scion/scion.pro1
-rw-r--r--tools/qscxmlc/doc/qscxmlc.qdoc3
-rw-r--r--tools/qscxmlc/qscxmlc.cpp4
-rw-r--r--tools/qscxmlc/scxmlcppdumper.cpp31
-rw-r--r--tools/qscxmlc/scxmlcppdumper.h4
6 files changed, 9 insertions, 36 deletions
diff --git a/mkspecs/features/qscxmlc.prf b/mkspecs/features/qscxmlc.prf
index 674abcb..25f1f10 100644
--- a/mkspecs/features/qscxmlc.prf
+++ b/mkspecs/features/qscxmlc.prf
@@ -9,8 +9,6 @@ debug_and_release {
QSCXMLC_DIR = $$QSCXMLC_DIR$$SUFFIX
-msvc:lessThan(MSC_VER,1800):QMAKE_QSCXMLC=$$QMAKE_QSCXMLC --no-c++11 # VS2012 cannot handle initializer lists.
-
{
qscxmlc.name = QSCXMLC ${QMAKE_FILE_IN}.h
qscxmlc.input = STATECHARTS
diff --git a/tests/auto/scion/scion.pro b/tests/auto/scion/scion.pro
index 84d7b28..6e1f7f4 100644
--- a/tests/auto/scion/scion.pro
+++ b/tests/auto/scion/scion.pro
@@ -28,7 +28,6 @@ defineReplace(nameTheClass) {
qtPrepareTool(QMAKE_QSCXMLC, qscxmlc)
win32 {
- QMAKE_QSCXMLC += --no-c++11
msvc: QMAKE_CXXFLAGS += /bigobj
}
diff --git a/tools/qscxmlc/doc/qscxmlc.qdoc b/tools/qscxmlc/doc/qscxmlc.qdoc
index eaa6406..07b5c8d 100644
--- a/tools/qscxmlc/doc/qscxmlc.qdoc
+++ b/tools/qscxmlc/doc/qscxmlc.qdoc
@@ -65,9 +65,6 @@
\li Option
\li Description
\row
- \li \c --no-c++11
- \li Use no C++11 features in the generated code.
- \row
\li \c {--namespace <namespace>}
\li Put the generated class(es) in the specified namespace. You can use the
\c QSCXMLC_NAMESPACE variable to specify this in your project file.
diff --git a/tools/qscxmlc/qscxmlc.cpp b/tools/qscxmlc/qscxmlc.cpp
index de97a18..89abdaa 100644
--- a/tools/qscxmlc/qscxmlc.cpp
+++ b/tools/qscxmlc/qscxmlc.cpp
@@ -107,8 +107,6 @@ int run(const QStringList &arguments)
cmdParser.setApplicationDescription(QCoreApplication::translate("main",
"Compiles the given input.scxml file to a header and a cpp file."));
- QCommandLineOption optionNoCxx11(QLatin1String("no-c++11"),
- QCoreApplication::translate("main", "Don't use C++11 in generated code."));
QCommandLineOption optionNamespace(QLatin1String("namespace"),
QCoreApplication::translate("main", "Put generated code into <namespace>."),
QCoreApplication::translate("main", "namespace"));
@@ -127,7 +125,6 @@ int run(const QStringList &arguments)
cmdParser.addPositionalArgument(QLatin1String("input"),
QCoreApplication::translate("main", "Input SCXML file."));
- cmdParser.addOption(optionNoCxx11);
cmdParser.addOption(optionNamespace);
cmdParser.addOption(optionOutputBaseName);
cmdParser.addOption(optionOutputHeaderName);
@@ -152,7 +149,6 @@ int run(const QStringList &arguments)
const QString scxmlFileName = inputFiles.at(0);
TranslationUnit options;
- options.useCxx11 = !cmdParser.isSet(optionNoCxx11);
if (cmdParser.isSet(optionNamespace))
options.namespaceName = cmdParser.value(optionNamespace);
QString outFileName = cmdParser.value(optionOutputBaseName);
diff --git a/tools/qscxmlc/scxmlcppdumper.cpp b/tools/qscxmlc/scxmlcppdumper.cpp
index 53988cf..b539e0d 100644
--- a/tools/qscxmlc/scxmlcppdumper.cpp
+++ b/tools/qscxmlc/scxmlcppdumper.cpp
@@ -143,28 +143,17 @@ static const char *headerStart =
using namespace DocumentModel;
-QString createContainer(const QString &baseType, const QString &elementType,
- const QStringList &elements, bool useCxx11)
+QString createContainer(const QStringList &elements)
{
QString result;
- if (useCxx11) {
- if (elements.isEmpty()) {
- result += QStringLiteral("{}");
- } else {
- result += QStringLiteral("{ ") + elements.join(QStringLiteral(", ")) + QStringLiteral(" }");
- }
+ if (elements.isEmpty()) {
+ result += QStringLiteral("{}");
} else {
- result += QStringLiteral("%1< %2 >()").arg(baseType, elementType);
- if (!elements.isEmpty()) {
- result += QStringLiteral(" << ") + elements.join(QStringLiteral(" << "));
- }
+ result += QStringLiteral("{ ") + elements.join(QStringLiteral(", ")) + QStringLiteral(" }");
}
return result;
}
-QString createVector(const QString &elementType, const QStringList &elements, bool useCxx11)
-{ return createContainer(QStringLiteral("QVector"), elementType, elements, useCxx11); }
-
static void generateList(QString &out, std::function<QString(int)> next)
{
const int maxLineLength = 80;
@@ -380,8 +369,7 @@ int createFactoryId(QStringList &factories, const QString &className,
const QString &namespacePrefix,
const QScxmlExecutableContent::InvokeInfo &invokeInfo,
const QVector<QScxmlExecutableContent::StringId> &namelist,
- const QVector<QScxmlExecutableContent::ParameterInfo> &parameters,
- bool useCxx11)
+ const QVector<QScxmlExecutableContent::ParameterInfo> &parameters)
{
const int idx = factories.size();
@@ -405,8 +393,7 @@ int createFactoryId(QStringList &factories, const QString &className,
for (auto name : namelist) {
l.append(QString::number(name));
}
- line += QStringLiteral("%1, ").arg(
- createVector(QStringLiteral("QScxmlExecutableContent::StringId"), l, useCxx11));
+ line += QStringLiteral("%1, ").arg(createContainer(l));
}
{
QStringList l;
@@ -416,9 +403,7 @@ int createFactoryId(QStringList &factories, const QString &className,
QString::number(parameter.expr),
QString::number(parameter.location));
}
- line += QStringLiteral("%1);").arg(
- createVector(QStringLiteral("QScxmlExecutableContent::ParameterInfo"), l,
- useCxx11));
+ line += QStringLiteral("%1);").arg(createContainer(l));
}
factories.append(line);
@@ -464,7 +449,7 @@ void CppDumper::dump(TranslationUnit *unit)
className = mangleIdentifier(classnameForDocument.value(content.data()));
}
return createFactoryId(factories[i], className, namespacePrefix,
- invokeInfo, names, parameters, m_translationUnit->useCxx11);
+ invokeInfo, names, parameters);
});
classNames.append(mangleIdentifier(classnameForDocument.value(doc)));
}
diff --git a/tools/qscxmlc/scxmlcppdumper.h b/tools/qscxmlc/scxmlcppdumper.h
index 2d6b12c..95fa48a 100644
--- a/tools/qscxmlc/scxmlcppdumper.h
+++ b/tools/qscxmlc/scxmlcppdumper.h
@@ -41,14 +41,12 @@ QT_BEGIN_NAMESPACE
struct TranslationUnit
{
TranslationUnit()
- : useCxx11(true)
- , mainDocument(Q_NULLPTR)
+ : mainDocument(Q_NULLPTR)
{}
QString scxmlFileName;
QString outHFileName, outCppFileName;
QString namespaceName;
- bool useCxx11;
DocumentModel::ScxmlDocument *mainDocument;
QList<DocumentModel::ScxmlDocument *> allDocuments;
QHash<DocumentModel::ScxmlDocument *, QString> classnameForDocument;