Fixed #603 (Tokenizer: Incorrect simplification of < >)
http://sourceforge.net/apps/trac/cppcheck/ticket/603
This commit is contained in:
parent
e6120a5725
commit
8cafaf2960
|
@ -2447,6 +2447,10 @@ bool Tokenizer::simplifyVarDecl()
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (tok3->str() == ";")
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Token::Match(tok2, ":: %type%"))
|
if (Token::Match(tok2, ":: %type%"))
|
||||||
|
|
|
@ -138,6 +138,7 @@ private:
|
||||||
TEST_CASE(vardecl4);
|
TEST_CASE(vardecl4);
|
||||||
TEST_CASE(vardecl5);
|
TEST_CASE(vardecl5);
|
||||||
TEST_CASE(vardecl6);
|
TEST_CASE(vardecl6);
|
||||||
|
TEST_CASE(vardecl7);
|
||||||
TEST_CASE(vardecl_stl);
|
TEST_CASE(vardecl_stl);
|
||||||
TEST_CASE(volatile_variables);
|
TEST_CASE(volatile_variables);
|
||||||
TEST_CASE(syntax_error);
|
TEST_CASE(syntax_error);
|
||||||
|
@ -2337,6 +2338,20 @@ private:
|
||||||
ASSERT_EQUALS(res1, tokenizeAndStringify(code1));
|
ASSERT_EQUALS(res1, tokenizeAndStringify(code1));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void vardecl7()
|
||||||
|
{
|
||||||
|
// ticket #603
|
||||||
|
const char code[] = "for (int c = 0; c < 0; ++c) {}\n"
|
||||||
|
"int t;\n"
|
||||||
|
"D(3 > t, \"T\");";
|
||||||
|
const char res[] = "for ( int c = 0 ; c < 0 ; ++ c ) { }\n"
|
||||||
|
"int t ;\n"
|
||||||
|
"D ( 3 > t , \"T\" ) ;";
|
||||||
|
|
||||||
|
ASSERT_EQUALS(res, tokenizeAndStringify(code));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void volatile_variables()
|
void volatile_variables()
|
||||||
{
|
{
|
||||||
const char code[] = "volatile int a=0;\n"
|
const char code[] = "volatile int a=0;\n"
|
||||||
|
|
Loading…
Reference in New Issue