From 0bd79612b6aabc32bbd46b911edd0439e7beb992 Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Tue, 8 Dec 2020 12:01:20 -0600 Subject: [PATCH] more bug fixes with numeric constants --- onyx | Bin 500796 -> 501644 bytes src/onyxchecker.c | 3 +-- src/onyxtypes.c | 2 ++ src/onyxutils.c | 14 +++++++------- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/onyx b/onyx index a01c7ce4813781d6747076c5d368b654e2731305..203fd0b68d54cdedcc77f84ea9a66ff85238e1d9 100755 GIT binary patch delta 50508 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 IYux4k4?Xn^b^rhX delta 50697 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 != NULL) { fill_in_type(memres->initial_value); - resolve_expression_type(memres->initial_value); check_expression(&memres->initial_value); + resolve_expression_type(memres->initial_value); if ((memres->initial_value->flags & Ast_Flag_Comptime) == 0) { onyx_report_error(memres->initial_value->token->pos, "Top level expressions must be compile time known."); @@ -1398,7 +1398,6 @@ b32 check_memres(AstMemRes* memres) { } else { memres->type = memres->initial_value->type; - bh_printf("Memres type: %s\n", type_get_name(memres->type)); } } diff --git a/src/onyxtypes.c b/src/onyxtypes.c index bc0a48a8..c1ff7363 100644 --- a/src/onyxtypes.c +++ b/src/onyxtypes.c @@ -305,6 +305,8 @@ Type* type_build_from_ast(bh_allocator alloc, AstType* type_node) { a_node->count_expr = ((AstUnaryOp *) a_node)->expr; } + resolve_expression_type((AstTyped *) a_node->count_expr); + // NOTE: Currently, the count_expr has to be an I32 literal if (a_node->count_expr->kind != Ast_Kind_NumLit || a_node->count_expr->type->kind != Type_Kind_Basic diff --git a/src/onyxutils.c b/src/onyxutils.c index 4288c717..f626db5d 100644 --- a/src/onyxutils.c +++ b/src/onyxutils.c @@ -246,11 +246,11 @@ void scope_clear(Scope* scope) { #define REDUCE_BINOP_ALL(op) \ if (type_is_small_integer(res->type) || type_is_bool(res->type)) { \ res->value.i = left->value.i op right->value.i; \ - } else if (type_is_integer(res->type)) { \ + } else if (type_is_integer(res->type) || res->type->Basic.kind == Basic_Kind_Int_Unsized) { \ res->value.l = left->value.l op right->value.l; \ } else if (res->type->Basic.kind == Basic_Kind_F32) { \ res->value.f = left->value.f op right->value.f; \ - } else if (res->type->Basic.kind == Basic_Kind_F64) { \ + } else if (res->type->Basic.kind == Basic_Kind_F64 || res->type->Basic.kind == Basic_Kind_Float_Unsized) { \ res->value.d = left->value.d op right->value.d; \ } \ break; @@ -258,7 +258,7 @@ void scope_clear(Scope* scope) { #define REDUCE_BINOP_INT(op) \ if (type_is_small_integer(res->type) || type_is_bool(res->type)) { \ res->value.i = left->value.i op right->value.i; \ - } else if (type_is_integer(res->type)) { \ + } else if (type_is_integer(res->type) || res->type->Basic.kind == Basic_Kind_Int_Unsized) { \ res->value.l = left->value.l op right->value.l; \ } \ break; @@ -318,11 +318,11 @@ AstNumLit* ast_reduce_binop(bh_allocator a, AstBinaryOp* node) { #define REDUCE_UNOP(op) \ if (type_is_small_integer(unop->type) || type_is_bool(unop->type)) { \ res->value.i = op ((AstNumLit *) unop->expr)->value.i; \ - } else if (type_is_integer(unop->type)) { \ + } else if (type_is_integer(unop->type) || unop->type->Basic.kind == Basic_Kind_Int_Unsized) { \ res->value.l = op ((AstNumLit *) unop->expr)->value.l; \ } else if (unop->type->Basic.kind == Basic_Kind_F32) { \ res->value.f = op ((AstNumLit *) unop->expr)->value.f; \ - } else if (unop->type->Basic.kind == Basic_Kind_F64) { \ + } else if (unop->type->Basic.kind == Basic_Kind_F64 || unop->type->Basic.kind == Basic_Kind_Float_Unsized) { \ res->value.d = op ((AstNumLit *) unop->expr)->value.d; \ } \ break; @@ -714,12 +714,12 @@ b32 convert_numlit_to_type(AstNumLit* num, Type* type) { i64 value = (i64) num->value.l; switch (type->Basic.size) { case 1: if (-128 <= value && value <= 127) { - num->value.i = (i8) value; + num->value.i = (i32) value; num->type = type; return 1; } break; case 2: if (-32768 <= value && value <= 32767) { - num->value.i = (i16) value; + num->value.i = (i32) value; num->type = type; return 1; } break; -- 2.25.1