diff options
author | Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> | 2015-02-18 17:32:34 +0100 |
---|---|---|
committer | Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> | 2015-02-25 13:54:46 +0000 |
commit | 704aec46230bf7ce29927bae03902e86454aecec (patch) | |
tree | d778f791c81311d9cc92688af1c133ec5733ec7d /qmake | |
parent | 962c7ab6f8705a8fb7b60c3544d4189503c1ec17 (diff) |
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>
Diffstat (limited to 'qmake')
-rw-r--r-- | qmake/library/qmakeparser.cpp | 13 | ||||
-rw-r--r-- | qmake/library/qmakeparser.h | 5 |
2 files changed, 6 insertions, 12 deletions
diff --git a/qmake/library/qmakeparser.cpp b/qmake/library/qmakeparser.cpp index 18048502aa..406dcce11d 100644 --- a/qmake/library/qmakeparser.cpp +++ b/qmake/library/qmakeparser.cpp @@ -577,7 +577,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 { @@ -661,7 +660,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; @@ -693,10 +691,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(); @@ -738,10 +734,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); @@ -836,10 +830,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 @@ -939,7 +931,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/qmake/library/qmakeparser.h b/qmake/library/qmakeparser.h index 12ed3370d0..6d0c381ef9 100644 --- a/qmake/library/qmakeparser.h +++ b/qmake/library/qmakeparser.h @@ -153,7 +153,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 |