From 9019190a374de237a406a608992f97f9c01a6167 Mon Sep 17 00:00:00 2001 From: Edoardo Prezioso Date: Tue, 17 Jan 2012 11:51:11 +0100 Subject: [PATCH] Tokenizer: various improvements to code. --- lib/tokenize.cpp | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/lib/tokenize.cpp b/lib/tokenize.cpp index 7ddf68db3..e2237413d 100644 --- a/lib/tokenize.cpp +++ b/lib/tokenize.cpp @@ -3892,6 +3892,10 @@ void Tokenizer::simplifyFlowControl() } if (tok->str() == "{") { + if (tok->previous() && tok->previous()->str() == "=") { + tok = tok->link(); + continue; + } beginindent = tok; ++indentlevel; } else if (tok->str() == "}") { @@ -4213,7 +4217,7 @@ bool Tokenizer::simplifyIfAddBraces() break; } tempToken = tempToken->link(); - if (!tempToken || !tempToken->next()) + if (!tempToken->next()) break; if (Token::simpleMatch(tempToken, "} else") && !Token::Match(tempToken->tokAt(2), "if|{")) innerIf = false; @@ -4237,11 +4241,10 @@ bool Tokenizer::simplifyIfAddBraces() if (!innerIf) break; - if (Token::simpleMatch(tempToken, "; else if")) - ; - else if (Token::simpleMatch(tempToken, "; else")) - innerIf = false; - else + if (Token::simpleMatch(tempToken, "; else")) { + if (tempToken->strAt(2) != "if") + innerIf = false; + } else break; } } @@ -6716,10 +6719,8 @@ void Tokenizer::simplifyGoto() } } - if (!indentlevel && Token::Match(tok, ") const| {")) { - gotos.clear(); + if (!indentlevel && Token::Match(tok, ") const| {")) beginfunction = tok; - } else if (indentlevel && Token::Match(tok, "[{};] goto %var% ;")) gotos.push_back(tok->next());