From 0d4945dc8788e8aa134fbdbd0941d9a6db0b67bc Mon Sep 17 00:00:00 2001 From: Ginger Bill Date: Thu, 1 Jun 2017 14:23:46 +0100 Subject: Implement u128/i128 features; Add bits.odin --- src/check_expr.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/check_expr.c') diff --git a/src/check_expr.c b/src/check_expr.c index a4a622341..2997cbbfb 100644 --- a/src/check_expr.c +++ b/src/check_expr.c @@ -2000,7 +2000,7 @@ bool check_representable_as_constant(Checker *c, ExactValue in_value, Type *type case Basic_i16: case Basic_i32: case Basic_i64: - // case Basic_i128: + case Basic_i128: case Basic_int: return i128_le(i128_neg(imax), i) && i128_le(i, i128_sub(imax, I128_ONE)); @@ -2008,7 +2008,7 @@ bool check_representable_as_constant(Checker *c, ExactValue in_value, Type *type case Basic_u16: case Basic_u32: case Basic_u64: - // case Basic_u128: + case Basic_u128: case Basic_uint: return !(u128_lt(u, U128_ZERO) || u128_gt(u, umax)); @@ -2338,7 +2338,7 @@ void check_shift(Checker *c, Operand *x, Operand *y, AstNode *node) { } i64 amount = i128_to_i64(y_val.value_integer); - if (amount > 64) { + if (amount > 128) { gbString err_str = expr_to_string(y->expr); error_node(node, "Shift amount too large: `%s`", err_str); gb_string_free(err_str); -- cgit v1.2.3