fix binary operators incorrectly assuming i32

This commit is contained in:
Andrew Kelley 2016-01-04 22:09:59 -07:00
parent e1ff201d60
commit b268e3de04

View File

@ -1382,20 +1382,8 @@ static TypeTableEntry *analyze_bin_op_expr(CodeGen *g, ImportTableEntry *import,
case BinOpTypeBinOr:
case BinOpTypeBinXor:
case BinOpTypeBinAnd:
{
// TODO: don't require i32
analyze_expression(g, import, context, g->builtin_types.entry_i32, node->data.bin_op_expr.op1);
analyze_expression(g, import, context, g->builtin_types.entry_i32, node->data.bin_op_expr.op2);
return g->builtin_types.entry_i32;
}
case BinOpTypeBitShiftLeft:
case BinOpTypeBitShiftRight:
{
// TODO: don't require i32
analyze_expression(g, import, context, g->builtin_types.entry_i32, node->data.bin_op_expr.op1);
analyze_expression(g, import, context, g->builtin_types.entry_i32, node->data.bin_op_expr.op2);
return g->builtin_types.entry_i32;
}
case BinOpTypeAdd:
case BinOpTypeSub:
case BinOpTypeMult: