summaryrefslogtreecommitdiffstats
path: root/src/linguist/shared/qmakeparser.cpp
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>2015-02-18 11:17:06 +0100
committerOswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>2015-12-18 14:43:37 +0000
commit2bd57bc160c958fc2398bf392019b58eecd224b9 (patch)
tree9b105f070ce19de7d641102ad3415ccd1c79eac7 /src/linguist/shared/qmakeparser.cpp
parentfc8b0a4b91eb696531db7e92bbf2727c7e4fd76d (diff)
always flush scopes on closing brace
without that, both the lines cond1 { cond2: VAR = val } and cond1 { cond2: else: cond3 } would yield two bogus errors: first an excess brace, and then a missing one. Change-Id: I8609106c1ad387577deec2077e2ce13507ac4d3f Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> (cherry picked from qtbase/962c7ab6f8705a8fb7b60c3544d4189503c1ec17)
Diffstat (limited to 'src/linguist/shared/qmakeparser.cpp')
-rw-r--r--src/linguist/shared/qmakeparser.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/linguist/shared/qmakeparser.cpp b/src/linguist/shared/qmakeparser.cpp
index 3d3a7a5d5..557a048b5 100644
--- a/src/linguist/shared/qmakeparser.cpp
+++ b/src/linguist/shared/qmakeparser.cpp
@@ -701,8 +701,9 @@ void QMakeParser::read(ProFile *pro, const QString &in, int line, SubGrammar gra
} else if (c == '}') {
FLUSH_LHS_LITERAL();
finalizeCond(tokPtr, buf, ptr, wordCount);
- flushScopes(tokPtr);
+ m_state = StNew; // De-facto newline
closeScope:
+ flushScopes(tokPtr);
if (!m_blockstack.top().braceLevel) {
parseError(fL1S("Excess closing brace."));
} else if (!--m_blockstack.top().braceLevel