fix prod build
parent
e5f6a0949f
commit
3e80e22f5d
|
@ -552,7 +552,7 @@ fn (g mut Gen) gen_fn_decl(it ast.FnDecl) {
|
||||||
// ////////////
|
// ////////////
|
||||||
if g.autofree && false {
|
if g.autofree && false {
|
||||||
scope := g.file.scope.innermost(it.pos.pos - 1)
|
scope := g.file.scope.innermost(it.pos.pos - 1)
|
||||||
for i, var in scope.vars {
|
for _, var in scope.vars {
|
||||||
sym := g.table.get_type_symbol(var.typ)
|
sym := g.table.get_type_symbol(var.typ)
|
||||||
if sym.kind == .array && !table.type_is_optional(var.typ) {
|
if sym.kind == .array && !table.type_is_optional(var.typ) {
|
||||||
g.writeln('array_free($var.name); // autofree')
|
g.writeln('array_free($var.name); // autofree')
|
||||||
|
@ -1837,8 +1837,8 @@ fn (g mut Gen) call_expr(it ast.CallExpr) {
|
||||||
name = name[3..]
|
name = name[3..]
|
||||||
}
|
}
|
||||||
// Generate tmp vars for values that have to be freed.
|
// Generate tmp vars for values that have to be freed.
|
||||||
mut tmps := []string
|
|
||||||
/*
|
/*
|
||||||
|
mut tmps := []string
|
||||||
for arg in it.args {
|
for arg in it.args {
|
||||||
if arg.typ == table.string_type_idx || is_print {
|
if arg.typ == table.string_type_idx || is_print {
|
||||||
tmp := g.new_tmp_var()
|
tmp := g.new_tmp_var()
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
import os
|
||||||
|
|
||||||
|
fn return_array(array_arg []string) []int {
|
||||||
|
s := [1, 2, 3] // escaping array must not be freed
|
||||||
|
return s
|
||||||
|
}
|
||||||
|
|
||||||
|
fn foo() {
|
||||||
|
nums := [1, 2, 3] // local array must be freed
|
||||||
|
println(nums)
|
||||||
|
}
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
println('start')
|
||||||
|
foo()
|
||||||
|
println('end')
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
import os
|
||||||
|
import term
|
||||||
|
|
||||||
|
fn test_all() {
|
||||||
|
$if !linux {
|
||||||
|
println('Valgrind tests can only be run on Linux.')
|
||||||
|
exit(1)
|
||||||
|
}
|
||||||
|
exe := os.executable()
|
||||||
|
dir := os.dir(exe)
|
||||||
|
files := os.ls('$dir/vlib/v/tests/valgrind/') or {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
println(files)
|
||||||
|
}
|
Loading…
Reference in New Issue