summaryrefslogtreecommitdiffstats
path: root/src/tools
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2016-09-15 19:47:57 +0200
committerLiang Qi <liang.qi@qt.io>2016-09-15 19:47:57 +0200
commit40a1f69e8663fb79560c26cfad5ead45b1b3ee5f (patch)
treea8ceb093a098a38b29c0fe27e41af480ae10b876 /src/tools
parent446afc10451d5097d7bd20b1b8d20325c4d54fa5 (diff)
parent6b2071c697d4c48f0cd289b28b443ebffc3432e6 (diff)
Merge remote-tracking branch 'origin/5.8' into dev
Conflicts: configure.json mkspecs/macx-tvos-clang/qmake.conf mkspecs/macx-watchos-clang/qmake.conf Change-Id: Iaf32339ace59dff9ed344972472744c55d75025c
Diffstat (limited to 'src/tools')
-rw-r--r--src/tools/moc/moc.cpp15
-rw-r--r--src/tools/rcc/rcc.cpp4
-rw-r--r--src/tools/uic/cpp/cppwriteinitialization.cpp2
3 files changed, 16 insertions, 5 deletions
diff --git a/src/tools/moc/moc.cpp b/src/tools/moc/moc.cpp
index 22207a9030..e4b9b19758 100644
--- a/src/tools/moc/moc.cpp
+++ b/src/tools/moc/moc.cpp
@@ -560,7 +560,8 @@ void Moc::parse()
until(RBRACE);
def.end = index;
index = def.begin + 1;
- while (inNamespace(&def) && hasNext()) {
+ const bool parseNamespace = currentFilenames.size() <= 1;
+ while (parseNamespace && inNamespace(&def) && hasNext()) {
switch (next()) {
case Q_NAMESPACE_TOKEN:
def.hasQNamespace = true;
@@ -569,10 +570,16 @@ void Moc::parse()
case Q_ENUM_NS_TOKEN:
parseEnumOrFlag(&def, false);
break;
+ case Q_ENUM_TOKEN:
+ error("Q_ENUM can't be used in a Q_NAMESPACE, use Q_ENUM_NS instead");
+ break;
case Q_FLAGS_TOKEN:
case Q_FLAG_NS_TOKEN:
parseEnumOrFlag(&def, true);
break;
+ case Q_FLAG_TOKEN:
+ error("Q_FLAG can't be used in a Q_NAMESPACE, use Q_FLAG_NS instead");
+ break;
case Q_DECLARE_FLAGS_TOKEN:
parseFlag(&def);
break;
@@ -735,10 +742,16 @@ void Moc::parse()
case Q_ENUM_TOKEN:
parseEnumOrFlag(&def, false);
break;
+ case Q_ENUM_NS_TOKEN:
+ error("Q_ENUM_NS can't be used in a Q_OBJECT/Q_GADGET, use Q_ENUM instead");
+ break;
case Q_FLAGS_TOKEN:
case Q_FLAG_TOKEN:
parseEnumOrFlag(&def, true);
break;
+ case Q_FLAG_NS_TOKEN:
+ error("Q_FLAG_NS can't be used in a Q_OBJECT/Q_GADGET, use Q_FLAG instead");
+ break;
case Q_DECLARE_FLAGS_TOKEN:
parseFlag(&def);
break;
diff --git a/src/tools/rcc/rcc.cpp b/src/tools/rcc/rcc.cpp
index 3156df3f30..18772d2816 100644
--- a/src/tools/rcc/rcc.cpp
+++ b/src/tools/rcc/rcc.cpp
@@ -705,9 +705,7 @@ static void resourceDataFileMapRecursion(const RCCFileInfo *m_root, const QStrin
const ChildConstIterator cend = m_root->m_children.constEnd();
for (ChildConstIterator it = m_root->m_children.constBegin(); it != cend; ++it) {
const RCCFileInfo *child = it.value();
- QString childName = path;
- childName += slash;
- childName += child->m_name;
+ const QString childName = path + slash + child->m_name;
if (child->m_flags & RCCFileInfo::Directory) {
resourceDataFileMapRecursion(child, childName, m);
} else {
diff --git a/src/tools/uic/cpp/cppwriteinitialization.cpp b/src/tools/uic/cpp/cppwriteinitialization.cpp
index df55ca29f1..d69eeebc5c 100644
--- a/src/tools/uic/cpp/cppwriteinitialization.cpp
+++ b/src/tools/uic/cpp/cppwriteinitialization.cpp
@@ -2307,7 +2307,7 @@ QString WriteInitialization::trCall(const QString &str, const QString &commentHi
return QLatin1String("QString()");
QString result;
- const QString comment = commentHint.isEmpty() ? QString(QLatin1Char('0')) : fixString(commentHint, m_dindent);
+ const QString comment = commentHint.isEmpty() ? QString(QLatin1String("Q_NULLPTR")) : fixString(commentHint, m_dindent);
if (m_option.translateFunction.isEmpty()) {
if (m_option.idBased) {