summaryrefslogtreecommitdiffstats
path: root/qmake/library
diff options
context:
space:
mode:
Diffstat (limited to 'qmake/library')
-rw-r--r--qmake/library/qmakeparser.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/qmake/library/qmakeparser.cpp b/qmake/library/qmakeparser.cpp
index 4d389b9492..8094e3a9a7 100644
--- a/qmake/library/qmakeparser.cpp
+++ b/qmake/library/qmakeparser.cpp
@@ -910,8 +910,14 @@ void QMakeParser::flushCond(ushort *&tokPtr)
void QMakeParser::putOperator(ushort *&tokPtr)
{
- if (m_operator != NoOperator) {
- putTok(tokPtr, (m_operator == AndOperator) ? TokAnd : TokOr);
+ if (m_operator== AndOperator) {
+ // A colon must be used after else and for() if no brace is used,
+ // but in this case it is obviously not a binary operator.
+ if (m_state == StCond)
+ putTok(tokPtr, TokAnd);
+ m_operator = NoOperator;
+ } else if (m_operator == OrOperator) {
+ putTok(tokPtr, TokOr);
m_operator = NoOperator;
}
}