Fixed testing of #7615. The code is not garbage so move it from TestGarbage to TestSymbolDatabase
This commit is contained in:
parent
fd19ab4ed1
commit
9082c097c8
|
@ -232,7 +232,6 @@ private:
|
||||||
TEST_CASE(garbageCode181);
|
TEST_CASE(garbageCode181);
|
||||||
TEST_CASE(garbageCode182); // #4195
|
TEST_CASE(garbageCode182); // #4195
|
||||||
TEST_CASE(garbageCode183); // #7505
|
TEST_CASE(garbageCode183); // #7505
|
||||||
TEST_CASE(garbageCode184); // #7615
|
|
||||||
TEST_CASE(garbageValueFlow);
|
TEST_CASE(garbageValueFlow);
|
||||||
TEST_CASE(garbageSymbolDatabase);
|
TEST_CASE(garbageSymbolDatabase);
|
||||||
TEST_CASE(garbageAST);
|
TEST_CASE(garbageAST);
|
||||||
|
@ -1522,14 +1521,6 @@ private:
|
||||||
ASSERT_THROW(checkCode("= { int } enum return { r = f() f(); }"), InternalError);
|
ASSERT_THROW(checkCode("= { int } enum return { r = f() f(); }"), InternalError);
|
||||||
}
|
}
|
||||||
|
|
||||||
// #7615 - crash in Symboldatabase::sizeOfType
|
|
||||||
void garbageCode184() {
|
|
||||||
checkCode("enum bar;"
|
|
||||||
"void foo() {\n"
|
|
||||||
" bar cats[] = {A, B, C}\n"
|
|
||||||
" int *bla = cats[ARRAY_SIZE(cats)];\n"
|
|
||||||
" };\n");
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
REGISTER_TEST(TestGarbage)
|
REGISTER_TEST(TestGarbage)
|
||||||
|
|
|
@ -253,6 +253,8 @@ private:
|
||||||
TEST_CASE(enum6);
|
TEST_CASE(enum6);
|
||||||
TEST_CASE(enum7);
|
TEST_CASE(enum7);
|
||||||
|
|
||||||
|
TEST_CASE(sizeOfType);
|
||||||
|
|
||||||
TEST_CASE(isImplicitlyVirtual);
|
TEST_CASE(isImplicitlyVirtual);
|
||||||
TEST_CASE(isPure);
|
TEST_CASE(isPure);
|
||||||
|
|
||||||
|
@ -2605,6 +2607,17 @@ private:
|
||||||
TEST(settings.sizeof_long_long);
|
TEST(settings.sizeof_long_long);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void sizeOfType() {
|
||||||
|
// #7615 - crash in Symboldatabase::sizeOfType()
|
||||||
|
GET_SYMBOL_DB("enum e;\n"
|
||||||
|
"void foo() {\n"
|
||||||
|
" e abc[] = {A,B,C};\n"
|
||||||
|
" int i = abc[ARRAY_SIZE(cats)];\n"
|
||||||
|
"}");
|
||||||
|
const Token *e = Token::findsimplematch(tokenizer.tokens(), "e abc");
|
||||||
|
db->sizeOfType(e); // <- don't crash
|
||||||
|
}
|
||||||
|
|
||||||
void isImplicitlyVirtual() {
|
void isImplicitlyVirtual() {
|
||||||
{
|
{
|
||||||
GET_SYMBOL_DB("class Base {\n"
|
GET_SYMBOL_DB("class Base {\n"
|
||||||
|
|
Loading…
Reference in New Issue