diff --git a/src/tokenize.cpp b/src/tokenize.cpp index 9aef5756e..722a53433 100644 --- a/src/tokenize.cpp +++ b/src/tokenize.cpp @@ -2833,11 +2833,17 @@ bool Tokenizer::simplifyNot() for (Token *tok = _tokens; tok; tok = tok->next()) { if (Token::Match(tok, "if|while ( not %var%")) + { tok->tokAt(2)->str("!"); - if (Token::Match(tok, "&& not %var%")) + } + else if (Token::Match(tok, "&& not %var%")) + { tok->next()->str("!"); - if (Token::Match(tok, "|| not %var%")) + } + else if (Token::Match(tok, "|| not %var%")) + { tok->next()->str("!"); + } } return ret; }