summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorOlivier Goffart <ogoffart@woboq.com>2016-09-10 14:23:39 +0200
committerOlivier Goffart (Woboq GmbH) <ogoffart@woboq.com>2016-09-16 07:47:29 +0000
commit97710f429fb06914b5cb86fdd3aa333eb8a90dff (patch)
treef1c78e15ae2c5c15539d6bf0c3371a8a6ec2019e /src
parent001efe14f2a0af25d10179fd6c06e4a7113ec83d (diff)
moc: Fix asserts on moc on empty token preceding ## operator
Regression introduced in c32ef0a725c7ac9d8a9ab053407389ef2fddc64e The expansion vector can be empty, in that case it is not allowed to call constLast() Task-number: QTBUG-55853 Change-Id: I47aa8eb7507ee91662215df42b4a66eebaa32bb5 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
Diffstat (limited to 'src')
-rw-r--r--src/tools/moc/preprocessor.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/tools/moc/preprocessor.cpp b/src/tools/moc/preprocessor.cpp
index 5ce28d931b..11bf8d7937 100644
--- a/src/tools/moc/preprocessor.cpp
+++ b/src/tools/moc/preprocessor.cpp
@@ -696,9 +696,9 @@ Symbols Preprocessor::macroExpandIdentifier(Preprocessor *that, SymbolStack &sym
next = arg.at(0);
}
- Symbol last = expansion.constLast();
- if (!expansion.isEmpty() && last.token == s.token && last.token != STRING_LITERAL) {
- expansion.pop_back();
+ if (!expansion.isEmpty() && expansion.constLast().token == s.token
+ && expansion.constLast().token != STRING_LITERAL) {
+ Symbol last = expansion.takeLast();
QByteArray lexem = last.lexem() + next.lexem();
expansion += Symbol(lineNum, last.token, lexem);