summaryrefslogtreecommitdiff
path: root/src/shared
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>2015-02-18 17:32:34 +0100
committerOswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>2015-10-28 13:01:12 +0000
commitae1017b0f5cbb9659f18bbed96a16cb5619c0f91 (patch)
tree25aeb65068df5dfc322de900b0d7b1ecc810fc5a /src/shared
parent8a1e9e7313c0f7bbcea3f0c50e24f8ce8bc7aa1a (diff)
downloadqt-creator-ae1017b0f5cbb9659f18bbed96a16cb5619c0f91.tar.gz
make all parse errors invalidate the parse result
they have been semi-warnings for a long enough time now. Change-Id: I3fffd63f7b44b30d2dc18cdcd74221c10e98399d Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> (cherry picked from qtbase/704aec46230bf7ce29927bae03902e86454aecec)
Diffstat (limited to 'src/shared')
-rw-r--r--src/shared/proparser/qmakeparser.cpp13
-rw-r--r--src/shared/proparser/qmakeparser.h5
2 files changed, 6 insertions, 12 deletions
diff --git a/src/shared/proparser/qmakeparser.cpp b/src/shared/proparser/qmakeparser.cpp
index d3b057f22a..a6214f595c 100644
--- a/src/shared/proparser/qmakeparser.cpp
+++ b/src/shared/proparser/qmakeparser.cpp
@@ -597,7 +597,6 @@ void QMakeParser::read(ProFile *pro, const QString &in, int line, SubGrammar gra
parseError(fL1S("Missing %1 terminator [found %2]")
.arg(QChar(term))
.arg(c ? QString(c) : QString::fromLatin1("end-of-line")));
- pro->setOk(false);
m_inError = true;
// Just parse on, as if there was a terminator ...
} else {
@@ -681,7 +680,6 @@ void QMakeParser::read(ProFile *pro, const QString &in, int line, SubGrammar gra
parseError(fL1S("Extra characters after test expression."));
else
parseError(fL1S("Opening parenthesis without prior test name."));
- pro->setOk(false);
ptr = buf; // Put empty function name
}
*ptr++ = TokTestCall;
@@ -713,10 +711,8 @@ void QMakeParser::read(ProFile *pro, const QString &in, int line, SubGrammar gra
finalizeCond(tokPtr, buf, ptr, wordCount);
flushCond(tokPtr);
++m_blockstack.top().braceLevel;
- if (grammar == TestGrammar) {
+ if (grammar == TestGrammar)
parseError(fL1S("Opening scope not permitted in this context."));
- pro->setOk(false);
- }
goto nextItem;
} else if (c == '}') {
FLUSH_LHS_LITERAL();
@@ -758,10 +754,8 @@ void QMakeParser::read(ProFile *pro, const QString &in, int line, SubGrammar gra
putLineMarker(tokPtr);
if (grammar == TestGrammar) {
parseError(fL1S("Assignment not permitted in this context."));
- pro->setOk(false);
} else if (wordCount != 1) {
parseError(fL1S("Assignment needs exactly one word on the left hand side."));
- pro->setOk(false);
// Put empty variable name.
} else {
putBlock(tokPtr, buf, ptr - buf);
@@ -856,10 +850,8 @@ void QMakeParser::read(ProFile *pro, const QString &in, int line, SubGrammar gra
}
flushScopes(tokPtr);
- if (m_blockstack.size() > 1) {
+ if (m_blockstack.size() > 1)
parseError(fL1S("Missing closing brace(s)."));
- pro->setOk(false);
- }
while (m_blockstack.size())
leaveScope(tokPtr);
tokBuff.resize(tokPtr - (ushort *)tokBuff.constData()); // Reserved capacity stays
@@ -959,7 +951,6 @@ void QMakeParser::bogusTest(ushort *&tokPtr)
m_invert = false;
m_state = StCond;
m_canElse = true;
- m_proFile->setOk(false);
}
void QMakeParser::finalizeCond(ushort *&tokPtr, ushort *uc, ushort *ptr, int wordCount)
diff --git a/src/shared/proparser/qmakeparser.h b/src/shared/proparser/qmakeparser.h
index f03da33b5f..b02b7ab823 100644
--- a/src/shared/proparser/qmakeparser.h
+++ b/src/shared/proparser/qmakeparser.h
@@ -150,7 +150,10 @@ private:
void message(int type, const QString &msg) const;
void parseError(const QString &msg) const
- { message(QMakeParserHandler::ParserError, msg); }
+ {
+ message(QMakeParserHandler::ParserError, msg);
+ m_proFile->setOk(false);
+ }
void languageWarning(const QString &msg) const
{ message(QMakeParserHandler::ParserWarnLanguage, msg); }
void deprecationWarning(const QString &msg) const