diff --git a/lib/tokenize.cpp b/lib/tokenize.cpp index b70bc1154..9815cd39b 100644 --- a/lib/tokenize.cpp +++ b/lib/tokenize.cpp @@ -8726,9 +8726,8 @@ void Tokenizer::simplifyComma() if (Token::Match(tok->tokAt(-2), "delete %name% , %name% ;") && tok->next()->varId() != 0) { - // Handle "delete a, b;" + // Handle "delete a, b;" - convert to delete a; b; tok->str(";"); - tok->insertToken("delete"); } else if (!inReturn && tok->tokAt(-2)) { bool replace = false; for (Token *tok2 = tok->previous(); tok2; tok2 = tok2->previous()) { diff --git a/test/testsimplifytokens.cpp b/test/testsimplifytokens.cpp index b39a1628d..a32bb276a 100644 --- a/test/testsimplifytokens.cpp +++ b/test/testsimplifytokens.cpp @@ -1796,7 +1796,17 @@ private: " char *a, *b;\n" " delete a, b;\n" "}\n"; - ASSERT_EQUALS("void foo ( ) { char * a ; char * b ; delete a ; delete b ; }", tok(code)); + ASSERT_EQUALS("void foo ( ) { char * a ; char * b ; delete a ; b ; }", tok(code)); + } + + { + const char code[] = "void foo()\n" + "{\n" + " char *a, *b;\n" + " if (x) \n" + " delete a, b;\n" + "}\n"; + ASSERT_EQUALS("void foo ( ) { char * a ; char * b ; if ( x ) { delete a ; b ; } }", tok(code)); } {