diff --git a/lib/tokenlist.cpp b/lib/tokenlist.cpp index 2a695d503..9b410d977 100644 --- a/lib/tokenlist.cpp +++ b/lib/tokenlist.cpp @@ -912,7 +912,7 @@ static void compilePrecedence2(Token *&tok, AST_state& state) const std::size_t oldOpSize = state.op.size(); compileExpression(tok, state); tok = tok2; - if (Token::Match(tok->previous(), "} (") + if (Token::simpleMatch(tok->previous(), "} (") || (tok->previous() && tok->previous()->isName() && !Token::Match(tok->previous(), "return|case") && (!state.cpp || !Token::Match(tok->previous(), "throw|delete"))) || (tok->strAt(-1) == "]" && (!state.cpp || !Token::Match(tok->linkAt(-1)->previous(), "new|delete"))) || (tok->strAt(-1) == ">" && tok->linkAt(-1))