variable declarations: don't simplify when declaring and assigning array in the same statement
This commit is contained in:
parent
c3bbd603c0
commit
4e465f7073
|
@ -1031,13 +1031,13 @@ void Tokenizer::simplifyTokenList()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (Token::Match(type0, "%type% %var% [ %num% ] ,|="))
|
else if (Token::Match(type0, "%type% %var% [ %num% ] ,"))
|
||||||
{
|
{
|
||||||
tok2 = type0->tokAt(5); // The ',' token
|
tok2 = type0->tokAt(5); // The ',' token
|
||||||
typelen = 1;
|
typelen = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (Token::Match(type0, "%type% * %var% [ %num% ] ,|="))
|
else if (Token::Match(type0, "%type% * %var% [ %num% ] ,"))
|
||||||
{
|
{
|
||||||
tok2 = type0->tokAt(6); // The ',' token
|
tok2 = type0->tokAt(6); // The ',' token
|
||||||
typelen = 1;
|
typelen = 1;
|
||||||
|
|
|
@ -64,6 +64,7 @@ private:
|
||||||
TEST_CASE(redundant_plus);
|
TEST_CASE(redundant_plus);
|
||||||
TEST_CASE(parantheses1);
|
TEST_CASE(parantheses1);
|
||||||
TEST_CASE(paranthesesVar); // Remove redundant parantheses around variable .. "( %var% )"
|
TEST_CASE(paranthesesVar); // Remove redundant parantheses around variable .. "( %var% )"
|
||||||
|
TEST_CASE(declareVar);
|
||||||
|
|
||||||
TEST_CASE(elseif1);
|
TEST_CASE(elseif1);
|
||||||
|
|
||||||
|
@ -321,6 +322,11 @@ private:
|
||||||
ASSERT_EQUALS("cast < char * > ( p ) ", tok("cast<char *>(p)"));
|
ASSERT_EQUALS("cast < char * > ( p ) ", tok("cast<char *>(p)"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void declareVar()
|
||||||
|
{
|
||||||
|
const char code[] = "void f ( ) { char str [ 100 ] = \"100\" ; } ";
|
||||||
|
ASSERT_EQUALS(code, tok(code));
|
||||||
|
}
|
||||||
|
|
||||||
std::string elseif(const char code[])
|
std::string elseif(const char code[])
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue