From 7e3715ed2593d6a27e417cf299c58cc3b4e1d740 Mon Sep 17 00:00:00 2001 From: kbkpbot Date: Sat, 27 Dec 2025 14:43:34 +0800 Subject: [PATCH] markused: fix option none markused (fix #26147) (#26151) --- vlib/v/gen/c/testdata/const_none_memdup.c.must_have | 1 + vlib/v/gen/c/testdata/const_none_memdup.out | 0 vlib/v/gen/c/testdata/const_none_memdup.vv | 4 ++++ vlib/v/markused/walker.v | 3 ++- 4 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 vlib/v/gen/c/testdata/const_none_memdup.c.must_have create mode 100644 vlib/v/gen/c/testdata/const_none_memdup.out create mode 100644 vlib/v/gen/c/testdata/const_none_memdup.vv diff --git a/vlib/v/gen/c/testdata/const_none_memdup.c.must_have b/vlib/v/gen/c/testdata/const_none_memdup.c.must_have new file mode 100644 index 000000000..f810a82b6 --- /dev/null +++ b/vlib/v/gen/c/testdata/const_none_memdup.c.must_have @@ -0,0 +1 @@ +voidptr builtin__memdup(voidptr src, isize sz); diff --git a/vlib/v/gen/c/testdata/const_none_memdup.out b/vlib/v/gen/c/testdata/const_none_memdup.out new file mode 100644 index 000000000..e69de29bb diff --git a/vlib/v/gen/c/testdata/const_none_memdup.vv b/vlib/v/gen/c/testdata/const_none_memdup.vv new file mode 100644 index 000000000..6ad921c6c --- /dev/null +++ b/vlib/v/gen/c/testdata/const_none_memdup.vv @@ -0,0 +1,4 @@ + +fn main() { + _ := [?string('abc')]! +} diff --git a/vlib/v/markused/walker.v b/vlib/v/markused/walker.v index b2b3c4b1f..5897a609d 100644 --- a/vlib/v/markused/walker.v +++ b/vlib/v/markused/walker.v @@ -1436,7 +1436,8 @@ fn (mut w Walker) mark_resource_dependencies() { w.fn_by_name('malloc') w.fn_by_name('tos3') } - if w.uses_memdup || w.used_none > 0 { + if w.uses_memdup || w.used_none > 0 || w.used_option > 0 { + // used_option => used_none => use memdup w.fn_by_name('memdup') } if w.uses_debugger { -- 2.39.5