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

v: fixes for v -autofree -o v2 cmd/v

This commit is contained in:
Delyan Angelov
2021-03-14 09:37:38 +02:00
parent 64d0006ff9
commit 69f1e7c9c3
13 changed files with 94 additions and 56 deletions

View File

@@ -4,8 +4,8 @@
module builtin
__global (
g_m2_buf byteptr
g_m2_ptr byteptr
g_m2_buf byteptr
g_m2_ptr byteptr
)
// isnil returns true if an object is nil (only for C objects).
@@ -38,19 +38,19 @@ __global (
total_m = i64(0)
nr_mallocs = int(0)
// will be filled in cgen
as_cast_type_indexes []VCastTypeIndexName
as_cast_type_indexes []VCastTypeIndexName
)
fn __as_cast(obj voidptr, obj_type int, expected_type int) voidptr {
if obj_type != expected_type {
mut obj_name := as_cast_type_indexes[0].tname
mut expected_name := as_cast_type_indexes[0].tname
mut obj_name := as_cast_type_indexes[0].tname.clone()
mut expected_name := as_cast_type_indexes[0].tname.clone()
for x in as_cast_type_indexes {
if x.tindex == obj_type {
obj_name = x.tname
obj_name = x.tname.clone()
}
if x.tindex == expected_type {
expected_name = x.tname
expected_name = x.tname.clone()
}
}
panic('as cast: cannot cast `$obj_name` to `$expected_name`')