Fix ticket #317 (pre-increment causes style false positive)
This commit is contained in:
parent
977e31786d
commit
7fdd497c44
|
@ -2255,7 +2255,7 @@ bool Tokenizer::simplifyKnownVariables()
|
||||||
if (Token::Match(tok3->next(), "%varid% ++|--", varid))
|
if (Token::Match(tok3->next(), "%varid% ++|--", varid))
|
||||||
{
|
{
|
||||||
const std::string op(tok3->strAt(2));
|
const std::string op(tok3->strAt(2));
|
||||||
if (Token::Match(tok3, "; %any% %any% ;"))
|
if (Token::Match(tok3, "[{};] %any% %any% ;"))
|
||||||
{
|
{
|
||||||
tok3->deleteNext();
|
tok3->deleteNext();
|
||||||
tok3->deleteNext();
|
tok3->deleteNext();
|
||||||
|
|
|
@ -67,6 +67,8 @@ private:
|
||||||
TEST_CASE(paranthesesVar); // Remove redundant parantheses around variable .. "( %var% )"
|
TEST_CASE(paranthesesVar); // Remove redundant parantheses around variable .. "( %var% )"
|
||||||
TEST_CASE(declareVar);
|
TEST_CASE(declareVar);
|
||||||
|
|
||||||
|
TEST_CASE(removePostIncrement);
|
||||||
|
|
||||||
TEST_CASE(elseif1);
|
TEST_CASE(elseif1);
|
||||||
|
|
||||||
TEST_CASE(sizeof1);
|
TEST_CASE(sizeof1);
|
||||||
|
@ -378,6 +380,20 @@ private:
|
||||||
ASSERT_EQUALS(code, tok(code));
|
ASSERT_EQUALS(code, tok(code));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void removePostIncrement()
|
||||||
|
{
|
||||||
|
const char code[] = "void f()\n"
|
||||||
|
"{\n"
|
||||||
|
" unsigned int c = 0;\n"
|
||||||
|
" c++;\n"
|
||||||
|
" if (c>0) { c++; }\n"
|
||||||
|
" c++;\n"
|
||||||
|
"}\n";
|
||||||
|
ASSERT_EQUALS(std::string("void f ( ) { int c ; c = 3 ; ; { ; } ; } "), tok(code));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
std::string elseif(const char code[])
|
std::string elseif(const char code[])
|
||||||
{
|
{
|
||||||
std::istringstream istr(code);
|
std::istringstream istr(code);
|
||||||
|
|
Loading…
Reference in New Issue