Cppcheck hangs with 100% CPU load in TemplateSimplifier::checkComplicatedSyntaxErrorsInTemplates (invalidcode)
This commit is contained in:
parent
be0b28f802
commit
932f6ea81b
|
@ -1835,6 +1835,7 @@ bool Tokenizer::tokenizeCondition(const std::string &code)
|
||||||
|
|
||||||
void Tokenizer::findComplicatedSyntaxErrorsInTemplates()
|
void Tokenizer::findComplicatedSyntaxErrorsInTemplates()
|
||||||
{
|
{
|
||||||
|
validate();
|
||||||
TemplateSimplifier::checkComplicatedSyntaxErrorsInTemplates(list.front());
|
TemplateSimplifier::checkComplicatedSyntaxErrorsInTemplates(list.front());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3495,7 +3496,7 @@ bool Tokenizer::simplifyTokenList1(const char FileName[])
|
||||||
|
|
||||||
// Remove __declspec()
|
// Remove __declspec()
|
||||||
simplifyDeclspec();
|
simplifyDeclspec();
|
||||||
|
validate();
|
||||||
// remove some unhandled macros in global scope
|
// remove some unhandled macros in global scope
|
||||||
removeMacrosInGlobalScope();
|
removeMacrosInGlobalScope();
|
||||||
|
|
||||||
|
|
|
@ -209,7 +209,7 @@ private:
|
||||||
TEST_CASE(garbageCode158); // #3238
|
TEST_CASE(garbageCode158); // #3238
|
||||||
TEST_CASE(garbageCode159); // #7119
|
TEST_CASE(garbageCode159); // #7119
|
||||||
TEST_CASE(garbageCode160); // #7190
|
TEST_CASE(garbageCode160); // #7190
|
||||||
|
TEST_CASE(garbageCode161); // #7200
|
||||||
TEST_CASE(garbageValueFlow);
|
TEST_CASE(garbageValueFlow);
|
||||||
TEST_CASE(garbageSymbolDatabase);
|
TEST_CASE(garbageSymbolDatabase);
|
||||||
TEST_CASE(garbageAST);
|
TEST_CASE(garbageAST);
|
||||||
|
@ -1382,6 +1382,10 @@ private:
|
||||||
// #4169
|
// #4169
|
||||||
checkCode("volatile true , test < test < #ifdef __ppc__ true ,");
|
checkCode("volatile true , test < test < #ifdef __ppc__ true ,");
|
||||||
}
|
}
|
||||||
|
void garbageCode161() {
|
||||||
|
//7200
|
||||||
|
ASSERT_THROW(checkCode("{ }{ if () try { } catch (...)} B : : ~B { }"), InternalError);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
REGISTER_TEST(TestGarbage)
|
REGISTER_TEST(TestGarbage)
|
||||||
|
|
Loading…
Reference in New Issue