parent
961ecfbe33
commit
6b5df68677
|
@ -4648,7 +4648,7 @@ const Token * Scope::addEnum(const Token * tok, bool isCpp)
|
||||||
if (tok2 == end) {
|
if (tok2 == end) {
|
||||||
tok2 = tok2->next();
|
tok2 = tok2->next();
|
||||||
|
|
||||||
if (tok2 && tok2->str() != ";")
|
if (tok2 && tok2->str() != ";" && (isCpp || tok2->str() != ")"))
|
||||||
tok2 = nullptr;
|
tok2 = nullptr;
|
||||||
} else
|
} else
|
||||||
tok2 = nullptr;
|
tok2 = nullptr;
|
||||||
|
|
|
@ -376,6 +376,7 @@ private:
|
||||||
TEST_CASE(enum7);
|
TEST_CASE(enum7);
|
||||||
TEST_CASE(enum8);
|
TEST_CASE(enum8);
|
||||||
TEST_CASE(enum9);
|
TEST_CASE(enum9);
|
||||||
|
TEST_CASE(enum10); // #11001
|
||||||
|
|
||||||
TEST_CASE(sizeOfType);
|
TEST_CASE(sizeOfType);
|
||||||
|
|
||||||
|
@ -5307,6 +5308,19 @@ private:
|
||||||
ASSERT_EQUALS(X1->value, 8);
|
ASSERT_EQUALS(X1->value, 8);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void enum10() { // #11001
|
||||||
|
GET_SYMBOL_DB_C("int b = sizeof(enum etag {X, Y});\n");
|
||||||
|
ASSERT(db != nullptr);
|
||||||
|
const Enumerator *X = db->scopeList.back().findEnumerator("X");
|
||||||
|
ASSERT(X);
|
||||||
|
ASSERT(X->value_known);
|
||||||
|
ASSERT_EQUALS(X->value, 0);
|
||||||
|
const Enumerator *Y = db->scopeList.back().findEnumerator("Y");
|
||||||
|
ASSERT(Y);
|
||||||
|
ASSERT(Y->value_known);
|
||||||
|
ASSERT_EQUALS(Y->value, 1);
|
||||||
|
}
|
||||||
|
|
||||||
void sizeOfType() {
|
void sizeOfType() {
|
||||||
// #7615 - crash in Symboldatabase::sizeOfType()
|
// #7615 - crash in Symboldatabase::sizeOfType()
|
||||||
GET_SYMBOL_DB("enum e;\n"
|
GET_SYMBOL_DB("enum e;\n"
|
||||||
|
|
Loading…
Reference in New Issue