diff options
author | Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> | 2015-02-18 17:32:34 +0100 |
---|---|---|
committer | Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> | 2015-10-28 13:01:12 +0000 |
commit | ae1017b0f5cbb9659f18bbed96a16cb5619c0f91 (patch) | |
tree | 25aeb65068df5dfc322de900b0d7b1ecc810fc5a /src/shared | |
parent | 8a1e9e7313c0f7bbcea3f0c50e24f8ce8bc7aa1a (diff) | |
download | qt-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.cpp | 13 | ||||
-rw-r--r-- | src/shared/proparser/qmakeparser.h | 5 |
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 |