Fixed #1498 (false positive: The function 'V<unsigned>::vSet' can be const)
This commit is contained in:
parent
0fb680d887
commit
f687e85be5
|
@ -4373,6 +4373,16 @@ void Tokenizer::unsignedint()
|
|||
else
|
||||
tok->insertToken("int");
|
||||
}
|
||||
|
||||
// simplify template arguments..
|
||||
for (Token *tok = _tokens; tok; tok = tok->next())
|
||||
{
|
||||
if (Token::simpleMatch(tok, "< unsigned >"))
|
||||
tok->next()->str("int");
|
||||
else if (Token::Match(tok, "< unsigned %type% >") &&
|
||||
tok->tokAt(2)->isStandardType())
|
||||
tok->deleteNext();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -179,6 +179,8 @@ private:
|
|||
// unsigned i; => unsigned int i;
|
||||
TEST_CASE(unsigned1);
|
||||
TEST_CASE(unsigned2);
|
||||
TEST_CASE(unsigned3); // template arguments
|
||||
|
||||
TEST_CASE(testUpdateClassList);
|
||||
TEST_CASE(createLinks);
|
||||
TEST_CASE(signed1);
|
||||
|
@ -2741,6 +2743,22 @@ private:
|
|||
ASSERT_EQUALS(expected, tokenizeAndStringify(code));
|
||||
}
|
||||
|
||||
// simplify "unsigned" when using templates..
|
||||
void unsigned3()
|
||||
{
|
||||
{
|
||||
const char code[] = "; foo<unsigned>();";
|
||||
const char expected[] = "; foo<int> ( ) ;";
|
||||
ASSERT_EQUALS(expected, tokenizeAndStringify(code));
|
||||
}
|
||||
|
||||
{
|
||||
const char code[] = "; foo<unsigned int>();";
|
||||
const char expected[] = "; foo<int> ( ) ;";
|
||||
ASSERT_EQUALS(expected, tokenizeAndStringify(code));
|
||||
}
|
||||
}
|
||||
|
||||
void tokenizeAndUpdateClassList(const char code[])
|
||||
{
|
||||
// tokenize..
|
||||
|
|
Loading…
Reference in New Issue