1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00

native: fix notices when building cmd/tools/builders/native_builder.v

This commit is contained in:
Delyan Angelov 2022-10-02 22:48:06 +03:00
parent b584e1df98
commit c655847dfb
No known key found for this signature in database
GPG Key ID: 66886C0F12D595ED
3 changed files with 7 additions and 7 deletions

View File

@ -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)
}
}
}

View File

@ -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 },

View File

@ -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 {