From 5f6b0942f405f5595787ba3436e2e5410268e71e Mon Sep 17 00:00:00 2001 From: Ginger Bill Date: Wed, 28 Sep 2016 00:07:03 +0100 Subject: Update Standard Library; Fix Type_Info for integers --- src/checker/expr.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/checker/expr.cpp') diff --git a/src/checker/expr.cpp b/src/checker/expr.cpp index cd46d3fbc..658584ba4 100644 --- a/src/checker/expr.cpp +++ b/src/checker/expr.cpp @@ -1200,6 +1200,7 @@ b32 check_value_is_expressible(Checker *c, ExactValue in_value, Type *type, Exac return false; if (out_value) *out_value = v; i64 i = v.value_integer; + u64 u = *cast(u64 *)&i; i64 s = 8*type_size_of(c->sizes, c->allocator, type); u64 umax = ~0ull; if (s < 64) { @@ -1221,7 +1222,7 @@ b32 check_value_is_expressible(Checker *c, ExactValue in_value, Type *type, Exac case Basic_u32: case Basic_u64: case Basic_uint: - return !(i < 0 || cast(u64)i > umax); + return !(u < 0 || u > umax); case Basic_UntypedInteger: return true; -- cgit v1.2.3