Skip to content

Commit 8add06a

Browse files
committed
Fix
1 parent 4125d4b commit 8add06a

1 file changed

Lines changed: 7 additions & 1 deletion

File tree

‎lib/symboldatabase.cpp‎

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7730,8 +7730,14 @@ static const Token* parsedecl(const Token* type,
77307730
} else if (!valuetype->typeScope && (type->str() == "struct" || type->str() == "enum") && valuetype->type != ValueType::Type::SMART_POINTER)
77317731
valuetype->type = type->str() == "struct" ? ValueType::Type::RECORD : ValueType::Type::NONSTD;
77327732
else if (!valuetype->typeScope && type->type() && type->type()->classScope && valuetype->type != ValueType::Type::SMART_POINTER) {
7733-
if (type->type()->classScope->type != ScopeType::eEnum)
7733+
if (type->type()->classScope->type == ScopeType::eEnum) {
7734+
if (valuetype->type == ValueType::Type::UNKNOWN_TYPE) {
7735+
valuetype->sign = ValueType::Sign::SIGNED;
7736+
valuetype->type = getEnumType(type->type()->classScope, settings.platform);
7737+
}
7738+
} else {
77347739
valuetype->type = ValueType::Type::RECORD;
7740+
}
77357741
valuetype->typeScope = type->type()->classScope;
77367742
} else if (type->isName() && valuetype->sign != ValueType::Sign::UNKNOWN_SIGN && valuetype->pointer == 0U)
77377743
return nullptr;

0 commit comments

Comments
 (0)