Skip to content

Commit 988918c

Browse files
committed
ValueType: Use signed as default sign for short/int/long/longlong
1 parent c831577 commit 988918c

3 files changed

Lines changed: 167 additions & 213 deletions

File tree

lib/symboldatabase.cpp

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3798,11 +3798,13 @@ static const Token * parsedecl(const Token *type, ValueType * const valuetype, V
37983798
type = type->next();
37993799
}
38003800

3801-
// If no signedness is given for char/short/int/long/longlong type, use default signedness
3802-
if (valuetype->type >= ValueType::Type::CHAR &&
3803-
valuetype->type <= ValueType::Type::LONGLONG &&
3804-
valuetype->sign == ValueType::Sign::UNKNOWN_SIGN)
3805-
valuetype->sign = defaultSignedness;
3801+
// Set signedness for integral types..
3802+
if (valuetype->isIntegral() && valuetype->sign == ValueType::Sign::UNKNOWN_SIGN) {
3803+
if (valuetype->type == ValueType::Type::CHAR)
3804+
valuetype->sign = defaultSignedness;
3805+
else if (valuetype->type >= ValueType::Type::SHORT)
3806+
valuetype->sign = ValueType::Sign::SIGNED;
3807+
}
38063808

38073809
return (type && valuetype->type != ValueType::Type::UNKNOWN_TYPE) ? type : nullptr;
38083810
}

0 commit comments

Comments
 (0)