Peer type resolution with unsigned ints and larger signed ints

This commit is contained in:
g-w1
2020-12-22 17:05:42 -05:00
committed by GitHub
parent 03113d9246
commit ea18f894f5
2 changed files with 15 additions and 4 deletions

View File

@@ -12706,11 +12706,13 @@ static ZigType *ir_resolve_peer_types(IrAnalyze *ira, AstNode *source_node, ZigT
}
if (prev_type->id == ZigTypeIdInt &&
cur_type->id == ZigTypeIdInt &&
prev_type->data.integral.is_signed == cur_type->data.integral.is_signed)
cur_type->id == ZigTypeIdInt)
{
if (cur_type->data.integral.bit_count > prev_type->data.integral.bit_count) {
prev_inst = cur_inst;
if ((prev_type->data.integral.is_signed == cur_type->data.integral.is_signed) ||
(cur_type->data.integral.is_signed && !prev_type->data.integral.is_signed)) {
if (cur_type->data.integral.bit_count > prev_type->data.integral.bit_count) {
prev_inst = cur_inst;
}
}
continue;
}