From c655847dfbe6af5d2b1e12ade3966ad3861525bb Mon Sep 17 00:00:00 2001 From: Delyan Angelov Date: Sun, 2 Oct 2022 22:48:06 +0300 Subject: [PATCH] native: fix notices when building cmd/tools/builders/native_builder.v --- vlib/v/eval/expr.v | 2 +- vlib/v/gen/native/amd64.v | 8 ++++---- vlib/v/gen/native/gen.v | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/vlib/v/eval/expr.v b/vlib/v/eval/expr.v index 7e0c854d1e..6827fa1668 100644 --- a/vlib/v/eval/expr.v +++ b/vlib/v/eval/expr.v @@ -561,7 +561,7 @@ fn (e Eval) type_to_size(typ ast.Type) u64 { } else { e.error('type_to_size(): unknown type: ${e.table.sym(typ).str()}') - return -1 + return u64(-1) } } } diff --git a/vlib/v/gen/native/amd64.v b/vlib/v/gen/native/amd64.v index aa93e10967..fed57f6648 100644 --- a/vlib/v/gen/native/amd64.v +++ b/vlib/v/gen/native/amd64.v @@ -1687,7 +1687,7 @@ pub fn (mut g Gen) call_fn_amd64(node ast.CallExpr) { 1...8 { g.mov_deref(.rax, .rax, ast.i64_type_idx) if args_size[i] != 8 { - g.movabs(.rdx, (i64(1) << (args_size[i] * 8)) - 1) + g.movabs(.rdx, i64((u64(1) << (args_size[i] * 8)) - 1)) g.bitand_reg(.rax, .rdx) } } @@ -1697,7 +1697,7 @@ pub fn (mut g Gen) call_fn_amd64(node ast.CallExpr) { g.sub(.rax, 8) g.mov_deref(.rax, .rax, ast.i64_type_idx) if args_size[i] != 16 { - g.movabs(.rbx, (i64(1) << ((args_size[i] - 8) * 8)) - 1) + g.movabs(.rbx, i64((u64(1) << ((args_size[i] - 8) * 8)) - 1)) g.bitand_reg(.rdx, .rbx) } } @@ -1737,7 +1737,7 @@ pub fn (mut g Gen) call_fn_amd64(node ast.CallExpr) { match return_size { 1...7 { g.mov_var_to_reg(.rdx, LocalVar{ offset: return_pos, typ: ast.i64_type_idx }) - g.movabs(.rcx, 0xffffffffffffffff - (i64(1) << (return_size * 8)) + 1) + g.movabs(.rcx, i64(0xffffffffffffffff - (u64(1) << (return_size * 8)) + 1)) g.bitand_reg(.rdx, .rcx) g.bitor_reg(.rdx, .rax) g.mov_reg_to_var(LocalVar{ offset: return_pos, typ: ast.i64_type_idx }, @@ -1754,7 +1754,7 @@ pub fn (mut g Gen) call_fn_amd64(node ast.CallExpr) { offset: 8 ) - g.movabs(.rcx, 0xffffffffffffffff - (i64(1) << (return_size * 8)) + 1) + g.movabs(.rcx, i64(0xffffffffffffffff - (u64(1) << (return_size * 8)) + 1)) g.bitand_reg(.rax, .rcx) g.bitor_reg(.rax, .rdx) g.mov_reg_to_var(LocalVar{ offset: return_pos, typ: ast.i64_type_idx }, diff --git a/vlib/v/gen/native/gen.v b/vlib/v/gen/native/gen.v index 934020b176..36f98d0823 100644 --- a/vlib/v/gen/native/gen.v +++ b/vlib/v/gen/native/gen.v @@ -1157,7 +1157,7 @@ fn (mut g Gen) stmt(node ast.Stmt) { if size <= 8 { g.mov_deref(.rax, .rax, ast.i64_type_idx) if size != 8 { - g.movabs(.rbx, (i64(1) << (size * 8)) - 1) + g.movabs(.rbx, i64((u64(1) << (size * 8)) - 1)) g.bitand_reg(.rax, .rbx) } } else if size <= 16 { @@ -1166,7 +1166,7 @@ fn (mut g Gen) stmt(node ast.Stmt) { g.sub(.rax, 8) g.mov_deref(.rax, .rax, ast.i64_type_idx) if size != 16 { - g.movabs(.rbx, (i64(1) << ((size - 8) * 8)) - 1) + g.movabs(.rbx, i64((u64(1) << ((size - 8) * 8)) - 1)) g.bitand_reg(.rdx, .rbx) } } else {