Fixed #1817 (False positive: Resource leak (casting))
This commit is contained in:
parent
c811acaa50
commit
b173d5f117
|
@ -4334,7 +4334,7 @@ void Tokenizer::simplifyCasts()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Token::Match(tok->next(), "dynamic_cast|reinterpret_cast|const_cast|static_cast <"))
|
while (Token::Match(tok->next(), "dynamic_cast|reinterpret_cast|const_cast|static_cast <"))
|
||||||
{
|
{
|
||||||
Token *tok2 = tok->next();
|
Token *tok2 = tok->next();
|
||||||
unsigned int level = 0;
|
unsigned int level = 0;
|
||||||
|
@ -4359,6 +4359,14 @@ void Tokenizer::simplifyCasts()
|
||||||
Token::eraseTokens(tok, tok2->tokAt(2));
|
Token::eraseTokens(tok, tok2->tokAt(2));
|
||||||
closeBracket->deleteThis();
|
closeBracket->deleteThis();
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -57,6 +57,7 @@ private:
|
||||||
TEST_CASE(removeCast2);
|
TEST_CASE(removeCast2);
|
||||||
TEST_CASE(removeCast3);
|
TEST_CASE(removeCast3);
|
||||||
TEST_CASE(removeCast4);
|
TEST_CASE(removeCast4);
|
||||||
|
TEST_CASE(removeCast5);
|
||||||
|
|
||||||
TEST_CASE(inlineasm);
|
TEST_CASE(inlineasm);
|
||||||
|
|
||||||
|
@ -428,6 +429,12 @@ private:
|
||||||
ASSERT_EQUALS(expected, tokenizeAndStringify(code, true));
|
ASSERT_EQUALS(expected, tokenizeAndStringify(code, true));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void removeCast5()
|
||||||
|
{
|
||||||
|
// ticket #1817
|
||||||
|
ASSERT_EQUALS("a . data = f ;", tokenizeAndStringify("a->data = reinterpret_cast<void*>(static_cast<intptr_t>(f));", true));
|
||||||
|
}
|
||||||
|
|
||||||
void inlineasm()
|
void inlineasm()
|
||||||
{
|
{
|
||||||
ASSERT_EQUALS("; asm ( ) ;", tokenizeAndStringify(";asm { mov ax,bx };"));
|
ASSERT_EQUALS("; asm ( ) ;", tokenizeAndStringify(";asm { mov ax,bx };"));
|
||||||
|
|
Loading…
Reference in New Issue