From ae111cd93b95e4cc0b13ce2824a284de496eea5d Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Mon, 4 Jan 2021 19:51:10 -0600 Subject: [PATCH] compiling with more warnings for cleaner code --- bin/onyx | Bin 304632 -> 304600 bytes build.sh | 4 +- include/bh.h | 13 +-- onyx.exe | Bin 390656 -> 390656 bytes src/onyx.c | 2 + src/onyxchecker.c | 16 ++-- src/onyxclone.c | 2 +- src/onyxlex.c | 2 +- src/onyxparser.c | 30 +------ src/onyxsymres.c | 4 +- src/onyxtypes.c | 2 +- src/onyxutils.c | 5 +- src/onyxwasm.c | 198 ++-------------------------------------------- 13 files changed, 39 insertions(+), 239 deletions(-) diff --git a/bin/onyx b/bin/onyx index 77fdb3f10c622ef76edfa7a1d4bb2e186a1ab863..1d3b6254183d744354c322c5e25f5834e6d6ccaa 100755 GIT binary patch delta 91624 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

&t-E5{GEF*o7<=kc~_S`Ocfy&zMYkzt1a11 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 A8vp(jaSp8KBnyyxA{d){--&AB6$3XfD; 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 diff --git a/build.sh b/build.sh index 9462fc75..bbde6c6d 100644 --- a/build.sh +++ b/build.sh @@ -4,10 +4,12 @@ C_FILES="onyx onyxbuiltins onyxchecker onyxclone onyxdoc onyxentities onyxerrors TARGET='./bin/onyx' CC='gcc' +WARNINGS='-Wimplicit -Wmisleading-indentation -Wmultistatement-macros -Wparentheses -Wsequence-point -Wreturn-type -Wshift-negative-value -Wunused-but-set-parameter -Wunused-but-set-variable -Wunused-function -Wunused-label -Wmaybe-uninitialized -Wsign-compare -Wstrict-overflow -Wduplicated-branches -Wduplicated-cond -Wtrigraphs -Waddress -Wlogical-op' + if [ "$1" = "debug" ]; then FLAGS='-g3 -I./include' else - FLAGS='-O3 -I./include' + FLAGS="$WARNINGS -O3 -I./include" fi BUILD_DIR='./build' diff --git a/include/bh.h b/include/bh.h index d356e5ec..bdc5ced9 100644 --- a/include/bh.h +++ b/include/bh.h @@ -92,6 +92,7 @@ i64 chars_match(char* ptr1, char* ptr2); #define bh_min(a, b) ((a) < (b) ? (a) : (b)) #define bh_clamp(v, a, b) (bh_min((b), bh_max((a), (v)))) #define bh_abs(x) ((x) < 0 ? -(x) : (x)) +#define size_of(x) (isize) sizeof(x) static inline u64 log2_dumb(u64 n) { switch (n) { @@ -960,7 +961,7 @@ BH_ALLOCATOR_PROC(bh_managed_heap_allocator_proc) { // ARENA ALLOCATOR IMPLEMENTATION void bh_arena_init(bh_arena* alloc, bh_allocator backing, isize arena_size) { - arena_size = bh_max(arena_size, sizeof(ptr)); + arena_size = bh_max(arena_size, size_of(ptr)); ptr data = bh_alloc(backing, arena_size); alloc->backing = backing; @@ -1004,7 +1005,7 @@ BH_ALLOCATOR_PROC(bh_arena_allocator_proc) { // TODO: Do this better because right now bh__align is bad // size = bh__align(size, alignment); - if (size > alloc_arena->arena_size - sizeof(ptr)) { + if (size > alloc_arena->arena_size - size_of(ptr)) { // Size too large for the arena return NULL; } @@ -1229,7 +1230,7 @@ char* bh_strdup(bh_allocator a, char* str) { char* buf = bh_alloc(a, len + 1); char* t = buf; - while (*t++ = *str++); + while ((*t++ = *str++)); return buf; } @@ -1699,7 +1700,7 @@ isize bh__printi64(char* str, isize n, bh__print_format format, i64 value) { char* walker = buf + 127; u32 base = format.base ? format.base : 10, tmp; - b32 negative = value < 0; + b32 negative = value < 0 ? 1 : 0; if (negative) value = -value; if (value == 0) { @@ -2068,7 +2069,7 @@ b32 bh__table_init(bh_allocator allocator, bh__table **table, i32 table_size) { b32 bh__table_free(bh__table **table) { if (*table == NULL) return 0; - for (i32 i = 0; i < (*table)->table_size; i++) { + for (u64 i = 0; i < (*table)->table_size; i++) { if ((*table)->arrs[i] != NULL) { bh_arr_free((*table)->arrs[i]); } @@ -2219,7 +2220,7 @@ found_matching: } void bh__table_clear(bh__table *table) { - for (i32 i = 0; i < table->table_size; i++) { + for (u64 i = 0; i < table->table_size; i++) { if (table->arrs[i] != NULL) { // NOTE: Set length property to 0 *((u64 *) table->arrs[i]) = 0; diff --git a/onyx.exe b/onyx.exe index 6378ea27b6f3ed76f6865905b75208e69e0ed60b..308548816a01c7b204f9a495b8e7f92ec7f062af 100644 GIT binary patch delta 40561 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 delta 40524 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 bh_arena_free(&cs->sp_arena); bh_table_free(cs->loaded_files); + + compile_opts_free(cs->options); } // NOTE: This should not be called until immediately before using the return value. diff --git a/src/onyxchecker.c b/src/onyxchecker.c index 4a1af12a..b3e1303f 100644 --- a/src/onyxchecker.c +++ b/src/onyxchecker.c @@ -187,7 +187,7 @@ b32 check_for(AstFor* fornode) { return 0; } -static b32 add_case_to_switch_statement(AstSwitch* switchnode, i64 case_value, AstBlock* block, OnyxFilePos pos) { +static b32 add_case_to_switch_statement(AstSwitch* switchnode, u64 case_value, AstBlock* block, OnyxFilePos pos) { switchnode->min_case = bh_min(switchnode->min_case, case_value); switchnode->max_case = bh_max(switchnode->max_case, case_value); @@ -426,7 +426,7 @@ b32 check_call(AstCall* call) { AstParam* variadic_param = NULL; ArgState arg_state = AS_Expecting_Exact; - i32 arg_pos = 0; + u32 arg_pos = 0; while (1) { switch (arg_state) { case AS_Expecting_Exact: { @@ -445,7 +445,7 @@ b32 check_call(AstCall* call) { continue; } - if (arg_pos >= bh_arr_length(arg_arr)) goto type_checking_done; + if (arg_pos >= (u32) bh_arr_length(arg_arr)) goto type_checking_done; if (!type_check_or_auto_cast(&arg_arr[arg_pos]->value, formal_params[arg_pos])) { onyx_report_error(arg_arr[arg_pos]->token->pos, "The procedure '%s' expects a value of type '%s' for %d%s parameter, got '%s'.", @@ -464,7 +464,7 @@ b32 check_call(AstCall* call) { case AS_Expecting_Typed_VA: { call->va_kind = VA_Kind_Typed; - if (arg_pos >= bh_arr_length(arg_arr)) goto type_checking_done; + if (arg_pos >= (u32) bh_arr_length(arg_arr)) goto type_checking_done; if (!type_check_or_auto_cast(&arg_arr[arg_pos]->value, variadic_type)) { onyx_report_error(arg_arr[arg_pos]->token->pos, "The procedure '%s' expects a value of type '%s' for the variadic parameter, '%b', got '%s'.", @@ -483,7 +483,7 @@ b32 check_call(AstCall* call) { case AS_Expecting_Untyped_VA: { call->va_kind = VA_Kind_Untyped; - if (arg_pos >= bh_arr_length(arg_arr)) goto type_checking_done; + if (arg_pos >= (u32) bh_arr_length(arg_arr)) goto type_checking_done; resolve_expression_type(arg_arr[arg_pos]->value); arg_arr[arg_pos]->va_kind = VA_Kind_Untyped; @@ -501,7 +501,7 @@ type_checking_done: return 1; } - if (arg_pos < bh_arr_length(arg_arr)) { + if (arg_pos < (u32) bh_arr_length(arg_arr)) { onyx_report_error(call->token->pos, "Too many arguments to function call."); return 1; } @@ -908,7 +908,7 @@ b32 check_unaryop(AstUnaryOp** punop) { b32 check_struct_literal(AstStructLiteral* sl) { fill_in_type((AstTyped *) sl); - u32 mem_count = type_structlike_mem_count(sl->type); + i32 mem_count = type_structlike_mem_count(sl->type); if (mem_count != bh_arr_length(sl->values)) { onyx_report_error(sl->token->pos, @@ -960,7 +960,7 @@ b32 check_array_literal(AstArrayLiteral* al) { assert(al->type->kind == Type_Kind_Array); - if (al->type->Array.count != bh_arr_length(al->values)) { + if (al->type->Array.count != (u32) bh_arr_length(al->values)) { onyx_report_error(al->token->pos, "Wrong array size (%d) for number of values (%d).", al->type->Array.count, bh_arr_length(al->values)); return 1; diff --git a/src/onyxclone.c b/src/onyxclone.c index c6dbb8c6..6ae1ccda 100644 --- a/src/onyxclone.c +++ b/src/onyxclone.c @@ -341,7 +341,7 @@ AstNode* ast_clone(bh_allocator a, void* n) { case Ast_Kind_Function_Type: ((AstFunctionType *) nn)->return_type = (AstType *) ast_clone(a, ((AstFunctionType *) node)->return_type); ((AstFunctionType *) nn)->param_count = ((AstFunctionType *) node)->param_count; - fori (i, 0, ((AstFunctionType *) nn)->param_count) { + fori (i, 0, (i64) ((AstFunctionType *) nn)->param_count) { ((AstFunctionType *) nn)->params[i] = (AstType *) ast_clone(a, ((AstFunctionType *) node)->params[i]); } break; diff --git a/src/onyxlex.c b/src/onyxlex.c index 65b5b6fb..cf1d286b 100644 --- a/src/onyxlex.c +++ b/src/onyxlex.c @@ -97,7 +97,7 @@ static inline b32 token_lit(OnyxTokenizer* tokenizer, OnyxToken* tk, char* lit, while (*ptr2 != '\0' && *ptr1 == *ptr2) ptr1++, ptr2++, len++; if (*ptr2 != '\0') return 0; - if (is_word && char_is_alphanum(*ptr1) || *ptr1 == '_') + if (is_word && (char_is_alphanum(*ptr1) || *ptr1 == '_')) return 0; tk->type = type; diff --git a/src/onyxparser.c b/src/onyxparser.c index 407b05f6..55504902 100644 --- a/src/onyxparser.c +++ b/src/onyxparser.c @@ -98,19 +98,6 @@ static OnyxToken* expect_token(OnyxParser* parser, TokenType token_type) { return token; } -static OnyxToken* soft_expect_token(OnyxParser* parser, TokenType token_type) { - if (parser->hit_unexpected_token) return NULL; - - OnyxToken* token = parser->curr; - - if (token->type == token_type) { - consume_token(parser); - return token; - } - - return NULL; -} - static void add_node_to_process(OnyxParser* parser, AstNode* node) { Scope* scope = parser->file_scope; @@ -138,15 +125,6 @@ static AstNumLit* make_int_literal(bh_allocator a, i64 i) { return num; } -static AstUnaryOp* wrap_in_auto_cast(bh_allocator a, AstTyped* expr) { - AstUnaryOp* ac = onyx_ast_node_new(a, sizeof(AstUnaryOp), Ast_Kind_Unary_Op); - ac->operation = Unary_Op_Auto_Cast; - ac->token = expr->token; - ac->expr = expr; - return ac; -} - - static AstNumLit* parse_int_literal(OnyxParser* parser) { AstNumLit* int_node = make_node(AstNumLit, Ast_Kind_NumLit); int_node->token = expect_token(parser, Token_Type_Literal_Integer); @@ -738,7 +716,7 @@ static AstTyped* parse_expression(OnyxParser* parser) { while (1) { if (parser->hit_unexpected_token) return root; - bin_op_kind = -1; + bin_op_kind = Binary_Op_Count; switch ((u16) parser->curr->type) { case Token_Type_Equal_Equal: bin_op_kind = Binary_Op_Equal; break; case Token_Type_Not_Equal: bin_op_kind = Binary_Op_Not_Equal; break; @@ -781,7 +759,7 @@ static AstTyped* parse_expression(OnyxParser* parser) { default: goto expression_done; } - if (bin_op_kind != -1) { + if (bin_op_kind != Binary_Op_Count) { bin_op_tok = parser->curr; consume_token(parser); @@ -1452,7 +1430,7 @@ static AstType* parse_type(OnyxParser* parser) { return_type = parse_type(parser); } - u64 param_count = bh_arr_length(params); + i64 param_count = bh_arr_length(params); AstFunctionType* new = onyx_ast_node_new(parser->allocator, sizeof(AstFunctionType) + sizeof(AstType*) * param_count, Ast_Kind_Function_Type); @@ -1755,7 +1733,7 @@ static b32 parse_possible_directive(OnyxParser* parser, const char* dir) { expect_token(parser, '#'); OnyxToken* sym = expect_token(parser, Token_Type_Symbol); - b32 match = (strlen(dir) == sym->length) && (strncmp(dir, sym->text, sym->length) == 0); + b32 match = (strlen(dir) == (u64) sym->length) && (strncmp(dir, sym->text, sym->length) == 0); if (!match) { unconsume_token(parser); unconsume_token(parser); diff --git a/src/onyxsymres.c b/src/onyxsymres.c index 81f5984c..9c408f0d 100644 --- a/src/onyxsymres.c +++ b/src/onyxsymres.c @@ -87,7 +87,7 @@ AstType* symres_type(AstType* type) { ftype->return_type = symres_type(ftype->return_type); if (ftype->param_count > 0) - fori (i, 0, ftype->param_count) { + fori (i, 0, (i64) ftype->param_count) { ftype->params[i] = symres_type(ftype->params[i]); } @@ -928,7 +928,7 @@ static void symres_polyproc(AstPolyProc* pp) { void symres_entity(Entity* ent) { if (ent->package) semstate.curr_package = ent->package; - Scope* old_scope; + Scope* old_scope = NULL; if (ent->scope) { old_scope = semstate.curr_scope; scope_enter(ent->scope); diff --git a/src/onyxtypes.c b/src/onyxtypes.c index 66d35f0c..10765a19 100644 --- a/src/onyxtypes.c +++ b/src/onyxtypes.c @@ -285,7 +285,7 @@ Type* type_build_from_ast(bh_allocator alloc, AstType* type_node) { func_type->Function.return_type = type_build_from_ast(alloc, ftype_node->return_type); if (param_count > 0) - fori (i, 0, param_count) { + fori (i, 0, (i64) param_count) { func_type->Function.params[i] = type_build_from_ast(alloc, ftype_node->params[i]); } diff --git a/src/onyxutils.c b/src/onyxutils.c index fb5ef248..2c47a3c8 100644 --- a/src/onyxutils.c +++ b/src/onyxutils.c @@ -493,7 +493,7 @@ static Type* solve_poly_type(AstNode* target, AstType* type_expr, Type* actual) AstFunctionType* ft = (AstFunctionType *) elem.type_expr; - fori (i, 0, ft->param_count) { + fori (i, 0, (i64) ft->param_count) { bh_arr_push(elem_queue, ((PolySolveElem) { .type_expr = ft->params[i], .actual = elem.actual->Function.params[i], @@ -528,7 +528,6 @@ static Type* solve_poly_type(AstNode* target, AstType* type_expr, Type* actual) } } -solving_done: bh_arr_free(elem_queue); return result; @@ -563,7 +562,7 @@ AstFunction* polymorphic_proc_lookup(AstPolyProc* pp, PolyProcLookupMethod pp_lo return NULL; } - fori (i, 0, param->idx) arg = (AstArgument *) arg->next; + fori (i, 0, (i64) param->idx) arg = (AstArgument *) arg->next; actual_type = resolve_expression_type(arg->value); } diff --git a/src/onyxwasm.c b/src/onyxwasm.c index b95bb834..4941588e 100644 --- a/src/onyxwasm.c +++ b/src/onyxwasm.c @@ -21,188 +21,6 @@ OnyxWasmModule global_wasm_module; #define WASM_TYPE_VOID 'E' #endif -static const char* wi_string(WasmInstructionType wit) { - switch (wit) { - case WI_UNREACHABLE: return "WI_UNREACHABLE"; - case WI_NOP: return "WI_NOP"; - case WI_BLOCK_START: return "WI_BLOCK_START"; - case WI_BLOCK_END: return "WI_BLOCK_END"; - case WI_LOOP_START: return "WI_LOOP_START"; - case WI_IF_START: return "WI_IF_START"; - case WI_ELSE: return "WI_ELSE"; - case WI_JUMP: return "WI_JUMP"; - case WI_COND_JUMP: return "WI_COND_JUMP"; - case WI_JUMP_TABLE: return "WI_JUMP_TABLE"; - case WI_RETURN: return "WI_RETURN"; - case WI_CALL: return "WI_CALL"; - case WI_CALL_INDIRECT: return "WI_CALL_INDIRECT"; - case WI_DROP: return "WI_DROP"; - case WI_SELECT: return "WI_SELECT"; - case WI_LOCAL_GET: return "WI_LOCAL_GET"; - case WI_LOCAL_SET: return "WI_LOCAL_SET"; - case WI_LOCAL_TEE: return "WI_LOCAL_TEE"; - case WI_GLOBAL_GET: return "WI_GLOBAL_GET"; - case WI_GLOBAL_SET: return "WI_GLOBAL_SET"; - case WI_I32_LOAD: return "WI_I32_LOAD"; - case WI_I64_LOAD: return "WI_I64_LOAD"; - case WI_F32_LOAD: return "WI_F32_LOAD"; - case WI_F64_LOAD: return "WI_F64_LOAD"; - case WI_I32_LOAD_8_S: return "WI_I32_LOAD_8_S"; - case WI_I32_LOAD_8_U: return "WI_I32_LOAD_8_U"; - case WI_I32_LOAD_16_S: return "WI_I32_LOAD_16_S"; - case WI_I32_LOAD_16_U: return "WI_I32_LOAD_16_U"; - case WI_I64_LOAD_8_S: return "WI_I64_LOAD_8_S"; - case WI_I64_LOAD_8_U: return "WI_I64_LOAD_8_U"; - case WI_I64_LOAD_16_S: return "WI_I64_LOAD_16_S"; - case WI_I64_LOAD_16_U: return "WI_I64_LOAD_16_U"; - case WI_I64_LOAD_32_S: return "WI_I64_LOAD_32_S"; - case WI_I64_LOAD_32_U: return "WI_I64_LOAD_32_U"; - case WI_I32_STORE: return "WI_I32_STORE"; - case WI_I64_STORE: return "WI_I64_STORE"; - case WI_F32_STORE: return "WI_F32_STORE"; - case WI_F64_STORE: return "WI_F64_STORE"; - case WI_I32_STORE_8: return "WI_I32_STORE_8"; - case WI_I32_STORE_16: return "WI_I32_STORE_16"; - case WI_I64_STORE_8: return "WI_I64_STORE_8"; - case WI_I64_STORE_16: return "WI_I64_STORE_16"; - case WI_I64_STORE_32: return "WI_I64_STORE_32"; - case WI_MEMORY_SIZE: return "WI_MEMORY_SIZE"; - case WI_MEMORY_GROW: return "WI_MEMORY_GROW"; - case WI_I32_CONST: return "WI_I32_CONST"; - case WI_I64_CONST: return "WI_I64_CONST"; - case WI_F32_CONST: return "WI_F32_CONST"; - case WI_F64_CONST: return "WI_F64_CONST"; - case WI_I32_EQZ: return "WI_I32_EQZ"; - case WI_I32_EQ: return "WI_I32_EQ"; - case WI_I32_NE: return "WI_I32_NE"; - case WI_I32_LT_S: return "WI_I32_LT_S"; - case WI_I32_LT_U: return "WI_I32_LT_U"; - case WI_I32_GT_S: return "WI_I32_GT_S"; - case WI_I32_GT_U: return "WI_I32_GT_U"; - case WI_I32_LE_S: return "WI_I32_LE_S"; - case WI_I32_LE_U: return "WI_I32_LE_U"; - case WI_I32_GE_S: return "WI_I32_GE_S"; - case WI_I32_GE_U: return "WI_I32_GE_U"; - case WI_I64_EQZ: return "WI_I64_EQZ"; - case WI_I64_EQ: return "WI_I64_EQ"; - case WI_I64_NE: return "WI_I64_NE"; - case WI_I64_LT_S: return "WI_I64_LT_S"; - case WI_I64_LT_U: return "WI_I64_LT_U"; - case WI_I64_GT_S: return "WI_I64_GT_S"; - case WI_I64_GT_U: return "WI_I64_GT_U"; - case WI_I64_LE_S: return "WI_I64_LE_S"; - case WI_I64_LE_U: return "WI_I64_LE_U"; - case WI_I64_GE_S: return "WI_I64_GE_S"; - case WI_I64_GE_U: return "WI_I64_GE_U"; - case WI_F32_EQ: return "WI_F32_EQ"; - case WI_F32_NE: return "WI_F32_NE"; - case WI_F32_LT: return "WI_F32_LT"; - case WI_F32_GT: return "WI_F32_GT"; - case WI_F32_LE: return "WI_F32_LE"; - case WI_F32_GE: return "WI_F32_GE"; - case WI_F64_EQ: return "WI_F64_EQ"; - case WI_F64_NE: return "WI_F64_NE"; - case WI_F64_LT: return "WI_F64_LT"; - case WI_F64_GT: return "WI_F64_GT"; - case WI_F64_LE: return "WI_F64_LE"; - case WI_F64_GE: return "WI_F64_GE"; - case WI_I32_CLZ: return "WI_I32_CLZ"; - case WI_I32_CTZ: return "WI_I32_CTZ"; - case WI_I32_POPCNT: return "WI_I32_POPCNT"; - case WI_I32_ADD: return "WI_I32_ADD"; - case WI_I32_SUB: return "WI_I32_SUB"; - case WI_I32_MUL: return "WI_I32_MUL"; - case WI_I32_DIV_S: return "WI_I32_DIV_S"; - case WI_I32_DIV_U: return "WI_I32_DIV_U"; - case WI_I32_REM_S: return "WI_I32_REM_S"; - case WI_I32_REM_U: return "WI_I32_REM_U"; - case WI_I32_AND: return "WI_I32_AND"; - case WI_I32_OR: return "WI_I32_OR"; - case WI_I32_XOR: return "WI_I32_XOR"; - case WI_I32_SHL: return "WI_I32_SHL"; - case WI_I32_SHR_S: return "WI_I32_SHR_S"; - case WI_I32_SHR_U: return "WI_I32_SHR_U"; - case WI_I32_ROTL: return "WI_I32_ROTL"; - case WI_I32_ROTR: return "WI_I32_ROTR"; - case WI_I64_CLZ: return "WI_I64_CLZ"; - case WI_I64_CTZ: return "WI_I64_CTZ"; - case WI_I64_POPCNT: return "WI_I64_POPCNT"; - case WI_I64_ADD: return "WI_I64_ADD"; - case WI_I64_SUB: return "WI_I64_SUB"; - case WI_I64_MUL: return "WI_I64_MUL"; - case WI_I64_DIV_S: return "WI_I64_DIV_S"; - case WI_I64_DIV_U: return "WI_I64_DIV_U"; - case WI_I64_REM_S: return "WI_I64_REM_S"; - case WI_I64_REM_U: return "WI_I64_REM_U"; - case WI_I64_AND: return "WI_I64_AND"; - case WI_I64_OR: return "WI_I64_OR"; - case WI_I64_XOR: return "WI_I64_XOR"; - case WI_I64_SHL: return "WI_I64_SHL"; - case WI_I64_SHR_S: return "WI_I64_SHR_S"; - case WI_I64_SHR_U: return "WI_I64_SHR_U"; - case WI_I64_ROTL: return "WI_I64_ROTL"; - case WI_I64_ROTR: return "WI_I64_ROTR"; - case WI_F32_ABS: return "WI_F32_ABS"; - case WI_F32_NEG: return "WI_F32_NEG"; - case WI_F32_CEIL: return "WI_F32_CEIL"; - case WI_F32_FLOOR: return "WI_F32_FLOOR"; - case WI_F32_TRUNC: return "WI_F32_TRUNC"; - case WI_F32_NEAREST: return "WI_F32_NEAREST"; - case WI_F32_SQRT: return "WI_F32_SQRT"; - case WI_F32_ADD: return "WI_F32_ADD"; - case WI_F32_SUB: return "WI_F32_SUB"; - case WI_F32_MUL: return "WI_F32_MUL"; - case WI_F32_DIV: return "WI_F32_DIV"; - case WI_F32_MIN: return "WI_F32_MIN"; - case WI_F32_MAX: return "WI_F32_MAX"; - case WI_F32_COPYSIGN: return "WI_F32_COPYSIGN"; - case WI_F64_ABS: return "WI_F64_ABS"; - case WI_F64_NEG: return "WI_F64_NEG"; - case WI_F64_CEIL: return "WI_F64_CEIL"; - case WI_F64_FLOOR: return "WI_F64_FLOOR"; - case WI_F64_TRUNC: return "WI_F64_TRUNC"; - case WI_F64_NEAREST: return "WI_F64_NEAREST"; - case WI_F64_SQRT: return "WI_F64_SQRT"; - case WI_F64_ADD: return "WI_F64_ADD"; - case WI_F64_SUB: return "WI_F64_SUB"; - case WI_F64_MUL: return "WI_F64_MUL"; - case WI_F64_DIV: return "WI_F64_DIV"; - case WI_F64_MIN: return "WI_F64_MIN"; - case WI_F64_MAX: return "WI_F64_MAX"; - case WI_F64_COPYSIGN: return "WI_F64_COPYSIGN"; - case WI_I32_FROM_I64: return "WI_I32_FROM_I64"; - case WI_I32_FROM_F32_S: return "WI_I32_FROM_F32_S"; - case WI_I32_FROM_F32_U: return "WI_I32_FROM_F32_U"; - case WI_I32_FROM_F64_S: return "WI_I32_FROM_F64_S"; - case WI_I32_FROM_F64_U: return "WI_I32_FROM_F64_U"; - case WI_I64_FROM_I32_S: return "WI_I64_FROM_I32_S"; - case WI_I64_FROM_I32_U: return "WI_I64_FROM_I32_U"; - case WI_I64_FROM_F32_S: return "WI_I64_FROM_F32_S"; - case WI_I64_FROM_F32_U: return "WI_I64_FROM_F32_U"; - case WI_I64_FROM_F64_S: return "WI_I64_FROM_F64_S"; - case WI_I64_FROM_F64_U: return "WI_I64_FROM_F64_U"; - case WI_F32_FROM_I32_S: return "WI_F32_FROM_I32_S"; - case WI_F32_FROM_I32_U: return "WI_F32_FROM_I32_U"; - case WI_F32_FROM_I64_S: return "WI_F32_FROM_I64_S"; - case WI_F32_FROM_I64_U: return "WI_F32_FROM_I64_U"; - case WI_F32_FROM_F64: return "WI_F32_FROM_F64"; - case WI_F64_FROM_I32_S: return "WI_F64_FROM_I32_S"; - case WI_F64_FROM_I32_U: return "WI_F64_FROM_I32_U"; - case WI_F64_FROM_I64_S: return "WI_F64_FROM_I64_S"; - case WI_F64_FROM_I64_U: return "WI_F64_FROM_I64_U"; - case WI_F64_FROM_F32: return "WI_F64_FROM_F32"; - case WI_I32_REINTERPRET_F32: return "WI_I32_REINTERPRET_F32"; - case WI_I64_REINTERPRET_F64: return "WI_I64_REINTERPRET_F64"; - case WI_F32_REINTERPRET_I32: return "WI_F32_REINTERPRET_I32"; - case WI_F64_REINTERPRET_I64: return "WI_F64_REINTERPRET_I64"; - case WI_I32_EXTEND_8_S: return "WI_I32_EXTEND_8_S"; - case WI_I32_EXTEND_16_S: return "WI_I32_EXTEND_16_S"; - case WI_I64_EXTEND_8_S: return "WI_I64_EXTEND_8_S"; - case WI_I64_EXTEND_16_S: return "WI_I64_EXTEND_16_S"; - case WI_I64_EXTEND_32_S: return "WI_I64_EXTEND_32_S"; - } -} - static WasmType onyx_type_to_wasm_type(Type* type) { if (type->kind == Type_Kind_Struct) { return WASM_TYPE_VOID; @@ -321,7 +139,7 @@ static u64 local_allocate(LocalAllocator* la, AstTyped* local) { if (size % alignment != 0) size += alignment - (size % alignment); - if (la->max_stack - la->curr_stack >= size) { + if (la->max_stack - la->curr_stack >= (i32) size) { la->curr_stack += size; } else { la->max_stack += size - (la->max_stack - la->curr_stack); @@ -617,7 +435,7 @@ EMIT_FUNC(assignment_of_array, AstBinaryOp* assign) { if (!type_is_structlike(elem_type)) WIL(WI_LOCAL_GET, lptr_local); - if (bh_arr_last(code).type == WI_LOCAL_SET && bh_arr_last(code).data.l == rptr_local) + if (bh_arr_last(code).type == WI_LOCAL_SET && (u64) bh_arr_last(code).data.l == rptr_local) bh_arr_last(code).type = WI_LOCAL_TEE; else WIL(WI_LOCAL_GET, rptr_local); @@ -1415,7 +1233,7 @@ EMIT_FUNC(call, AstCall* call) { u64 stack_top_idx = bh_imap_get(&mod->index_map, (u64) &builtin_stack_top); u32 vararg_count = 0; - u32 vararg_offset = -1; + u32 vararg_offset = 0xffffffff; u64 stack_top_store_local; bh_arr_each(AstArgument *, parg, call->arg_arr) { @@ -1425,7 +1243,7 @@ EMIT_FUNC(call, AstCall* call) { b32 arg_is_struct = type_is_structlike(arg->value->type); if (arg->va_kind != VA_Kind_Not_VA) { - if (vararg_offset == -1) vararg_offset = stack_grow_amm; + if (vararg_offset == 0xffffffff) vararg_offset = stack_grow_amm; place_on_stack = 1; } if (type_get_param_pass(arg->value->type) == Param_Pass_By_Implicit_Pointer) place_on_stack = 1; @@ -2101,7 +1919,7 @@ EMIT_FUNC(struct_store, Type* type, u64 offset) { type_lookup_member_by_idx(type, i, &smem); if (type_is_structlike_strict(smem.type)) { - if (bh_arr_last(code).type == WI_LOCAL_SET && bh_arr_last(code).data.l == loc_idx) { + if (bh_arr_last(code).type == WI_LOCAL_SET && (u64) bh_arr_last(code).data.l == loc_idx) { bh_arr_last(code).type = WI_LOCAL_TEE; } else { WIL(WI_LOCAL_GET, loc_idx); @@ -2273,7 +2091,7 @@ EMIT_FUNC(expression, AstTyped* expr) { u64 tmp = bh_imap_get(&mod->local_map, (u64) expr); if (tmp & LOCAL_IS_WASM) { - if (bh_arr_last(code).type == WI_LOCAL_SET && bh_arr_last(code).data.l == tmp) { + if (bh_arr_last(code).type == WI_LOCAL_SET && (u64) bh_arr_last(code).data.l == tmp) { bh_arr_last(code).type = WI_LOCAL_TEE; } else { WIL(WI_LOCAL_GET, tmp); @@ -2884,7 +2702,7 @@ static void emit_function(OnyxWasmModule* mod, AstFunction* fd) { // HACK: This is gross bh_arr_grow(mod->funcs, func_idx - mod->foreign_function_count + 1); mod->funcs[func_idx - mod->foreign_function_count] = wasm_func; - bh_arr_set_length(mod->funcs, bh_max(bh_arr_length(mod->funcs), func_idx - mod->foreign_function_count + 1)); + bh_arr_set_length(mod->funcs, bh_max((u32) bh_arr_length(mod->funcs), func_idx - mod->foreign_function_count + 1)); // NOTE: Clear the local map on exit of generating this function bh_imap_clear(&mod->local_map); @@ -2943,7 +2761,7 @@ static void emit_global(OnyxWasmModule* module, AstGlobal* global) { bh_arr_grow(module->globals, global_idx - module->foreign_global_count + 1); module->globals[global_idx - module->foreign_global_count] = glob; - bh_arr_set_length(module->globals, bh_max(bh_arr_length(module->globals), global_idx - module->foreign_global_count + 1)); + bh_arr_set_length(module->globals, bh_max((u32) bh_arr_length(module->globals), global_idx - module->foreign_global_count + 1)); if (global->flags & Ast_Flag_Global_Stack_Top) module->stack_top_ptr = &module->globals[global_idx - module->foreign_global_count].initial_value[0].data.i1; -- 2.25.1