From 7d663615b2a44715e7447a40cae467d7d4e38b9c Mon Sep 17 00:00:00 2001 From: dec05eba Date: Sat, 14 Sep 2019 00:52:24 +0200 Subject: Start on opengl test, fix stack alignment before call (sys-v) --- src/compiler.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'src/compiler.c') diff --git a/src/compiler.c b/src/compiler.c index 8dda1c6..6e6bc4b 100644 --- a/src/compiler.c +++ b/src/compiler.c @@ -44,6 +44,7 @@ static CHECK_RESULT int create_default_type(amal_compiler *compiler, const char expr->resolve_data.type.type = RESOLVED_TYPE_LHS_EXPR; expr->resolve_data.type.value.lhs_expr = lhs_expr; expr->resolve_data.status = AST_RESOLVED; + lhs_expr->rhs_expr->resolve_data = expr->resolve_data; return scope_add_child(&compiler->root_scope, expr); } @@ -58,12 +59,12 @@ static CHECK_RESULT int create_default_type_fixed_size(amal_compiler *compiler, static CHECK_RESULT int init_default_types(amal_compiler *compiler) { return_if_error(create_default_type_fixed_size(compiler, "i8", 1, &compiler->default_types.i8)); return_if_error(create_default_type_fixed_size(compiler, "i16", 2, &compiler->default_types.i16)); - return_if_error(create_default_type_fixed_size(compiler, "i32", 3, &compiler->default_types.i32)); - return_if_error(create_default_type_fixed_size(compiler, "i64", 4, &compiler->default_types.i64)); + return_if_error(create_default_type_fixed_size(compiler, "i32", 4, &compiler->default_types.i32)); + return_if_error(create_default_type_fixed_size(compiler, "i64", 8, &compiler->default_types.i64)); return_if_error(create_default_type_fixed_size(compiler, "u8", 1, &compiler->default_types.u8)); return_if_error(create_default_type_fixed_size(compiler, "u16", 2, &compiler->default_types.u16)); - return_if_error(create_default_type_fixed_size(compiler, "u32", 3, &compiler->default_types.u32)); - return_if_error(create_default_type_fixed_size(compiler, "u64", 4, &compiler->default_types.u64)); + return_if_error(create_default_type_fixed_size(compiler, "u32", 4, &compiler->default_types.u32)); + return_if_error(create_default_type_fixed_size(compiler, "u64", 8, &compiler->default_types.u64)); return_if_error(create_default_type_num_pointers(compiler, "isize", 1, &compiler->default_types.isize)); return_if_error(create_default_type_num_pointers(compiler, "usize", 1, &compiler->default_types.usize)); return_if_error(create_default_type_fixed_size(compiler, "f32", 4, &compiler->default_types.f32)); @@ -185,7 +186,7 @@ static CHECK_RESULT int amal_compiler_load_in_this_thread(amal_compiler *compile result = AMAL_COMPILER_ERR; cleanup_if_error(amal_mutex_lock(&compiler->mutex, "amal_compiler_load_in_this_thread, create arena allocator")); - return_if_error(arena_allocator_alloc(&compiler->allocator, sizeof(ArenaAllocator), (void**)&parser_allocator)); + cleanup_if_error(arena_allocator_alloc(&compiler->allocator, sizeof(ArenaAllocator), (void**)&parser_allocator)); amal_mutex_tryunlock(&compiler->mutex); return_if_error(arena_allocator_init(parser_allocator)); -- cgit v1.2.3