Skip to content

Commit 0458303

Browse files
authored
markused: fix missing builtin__memdup definition, when an option struct field is used (fix #25801) (#25802)
1 parent a8e0120 commit 0458303

File tree

3 files changed

+17
-1
lines changed

3 files changed

+17
-1
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
voidptr builtin__memdup(voidptr src, isize sz);
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
struct Foo {
2+
data &int
3+
}
4+
5+
struct FooHolder {
6+
foo ?Foo
7+
}
8+
9+
struct Program {
10+
foo ?Foo
11+
}
12+
13+
fn main() {
14+
_ := Program{}
15+
}

vlib/v/markused/walker.v

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1428,7 +1428,7 @@ fn (mut w Walker) mark_resource_dependencies() {
14281428
w.fn_by_name('malloc')
14291429
w.fn_by_name('tos3')
14301430
}
1431-
if w.uses_memdup {
1431+
if w.uses_memdup || w.used_none > 0 {
14321432
w.fn_by_name('memdup')
14331433
}
14341434
if w.uses_debugger {

0 commit comments

Comments
 (0)