use '<' comparisons instead of '>' (#610)
This commit is contained in:
parent
1a48f869c8
commit
ee1bcb728c
|
@ -818,7 +818,7 @@ Token *CheckMemoryLeakInFunction::getcode(const Token *tok, std::list<const Toke
|
||||||
{
|
{
|
||||||
if (alloctype == Fd)
|
if (alloctype == Fd)
|
||||||
{
|
{
|
||||||
if (Token::Match(tok, "if ( %varid% >= 0 )", varid) ||
|
if (Token::Match(tok, "if ( 0 <= %varid% )", varid) ||
|
||||||
Token::Match(tok, "if ( %varid% != -1 )", varid))
|
Token::Match(tok, "if ( %varid% != -1 )", varid))
|
||||||
{
|
{
|
||||||
addtoken("if(var)");
|
addtoken("if(var)");
|
||||||
|
|
|
@ -572,6 +572,21 @@ bool Tokenizer::tokenize(std::istream &code, const char FileName[])
|
||||||
// replace "unsigned i" with "unsigned int i"
|
// replace "unsigned i" with "unsigned int i"
|
||||||
unsignedint();
|
unsignedint();
|
||||||
|
|
||||||
|
// Use "<" comparison instead of ">"
|
||||||
|
for (Token *tok = _tokens; tok; tok = tok->next())
|
||||||
|
{
|
||||||
|
if (Token::Match(tok, "[;(] %any% >|>= %any% [);]"))
|
||||||
|
{
|
||||||
|
const std::string op1(tok->strAt(1));
|
||||||
|
tok->next()->str(tok->strAt(3));
|
||||||
|
tok->tokAt(3)->str(op1);
|
||||||
|
if (tok->tokAt(2)->str() == ">")
|
||||||
|
tok->tokAt(2)->str("<");
|
||||||
|
else
|
||||||
|
tok->tokAt(2)->str("<=");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @todo simplify "for"
|
* @todo simplify "for"
|
||||||
* - move out start-statement "for (a;b;c);" => "{ a; for(;b;c); }"
|
* - move out start-statement "for (a;b;c);" => "{ a; for(;b;c); }"
|
||||||
|
|
|
@ -441,7 +441,7 @@ private:
|
||||||
" a = 10;\n"
|
" a = 10;\n"
|
||||||
" a++;\n"
|
" a++;\n"
|
||||||
"}\n";
|
"}\n";
|
||||||
ASSERT_EQUALS("void f ( int a ) { if ( a > 10 ) { a = 5 ; } else { a = 10 ; } a ++ ; }", tok(code));
|
ASSERT_EQUALS("void f ( int a ) { if ( 10 < a ) { a = 5 ; } else { a = 10 ; } a ++ ; }", tok(code));
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
|
@ -453,7 +453,7 @@ private:
|
||||||
" a = 10;\n"
|
" a = 10;\n"
|
||||||
" ++a;\n"
|
" ++a;\n"
|
||||||
"}\n";
|
"}\n";
|
||||||
ASSERT_EQUALS("void f ( int a ) { if ( a > 10 ) { a = 5 ; } else { a = 10 ; } ++ a ; }", tok(code));
|
ASSERT_EQUALS("void f ( int a ) { if ( 10 < a ) { a = 5 ; } else { a = 10 ; } ++ a ; }", tok(code));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -157,6 +157,8 @@ private:
|
||||||
TEST_CASE(signed1);
|
TEST_CASE(signed1);
|
||||||
|
|
||||||
TEST_CASE(removeExceptionSpecification);
|
TEST_CASE(removeExceptionSpecification);
|
||||||
|
|
||||||
|
TEST_CASE(gt); // use "<" comparisons instead of ">"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -2621,6 +2623,13 @@ private:
|
||||||
ASSERT_EQUALS(expected, tokenizeAndStringify(code));
|
ASSERT_EQUALS(expected, tokenizeAndStringify(code));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void gt()
|
||||||
|
{
|
||||||
|
ASSERT_EQUALS("( i < 10 )", tokenizeAndStringify("(10>i)"));
|
||||||
|
ASSERT_EQUALS("; i < 10 ;", tokenizeAndStringify(";10>i;"));
|
||||||
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
REGISTER_TEST(TestTokenizer)
|
REGISTER_TEST(TestTokenizer)
|
||||||
|
|
Loading…
Reference in New Issue