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>
This commit is contained in:
parent
da1aaed059
commit
962c7ab6f8
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user