From 87a87236c86d99c5441f0c9b5dae6ccc4defca3d Mon Sep 17 00:00:00 2001 From: Alexander Medvednikov Date: Thu, 28 May 2026 23:42:10 +0300 Subject: [PATCH] cgen: inline empty metadata arrays --- vlib/v/gen/c/auto_str_methods.v | 4 ++-- vlib/v/gen/c/reflection.v | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/vlib/v/gen/c/auto_str_methods.v b/vlib/v/gen/c/auto_str_methods.v index 8e5c720a8..ed1985e41 100644 --- a/vlib/v/gen/c/auto_str_methods.v +++ b/vlib/v/gen/c/auto_str_methods.v @@ -1452,11 +1452,11 @@ fn (mut g Gen) gen_enum_static_from_string(fn_name string, mod_enum_name string, fn_builder.writeln('\t${option_enum_styp} t1;') fn_builder.writeln('\tbool exists = false;') fn_builder.writeln('\tint inx = 0;') - fn_builder.writeln('\tarray field_names = builtin____new_array_with_default(0, 0, sizeof(string), 0);') + fn_builder.writeln('\tarray field_names = ((array){.data = 0, .offset = 0, .len = 0, .cap = 0, .flags = 0, .element_size = sizeof(string)});') for field_name in enum_field_names { fn_builder.writeln('\tbuiltin__array_push((array*)&field_names, _MOV((string[]){ _S("${field_name}") }));') } - fn_builder.writeln('\tarray field_vals = builtin____new_array_with_default(0, 0, sizeof(i64), 0);') + fn_builder.writeln('\tarray field_vals = ((array){.data = 0, .offset = 0, .len = 0, .cap = 0, .flags = 0, .element_size = sizeof(i64)});') for field_val in enum_field_vals { fn_builder.writeln('\tbuiltin__array_push((array*)&field_vals, _MOV((i64[]){ ${field_val} }));') } diff --git a/vlib/v/gen/c/reflection.v b/vlib/v/gen/c/reflection.v index 388415bee..5bb422835 100644 --- a/vlib/v/gen/c/reflection.v +++ b/vlib/v/gen/c/reflection.v @@ -26,7 +26,7 @@ fn (mut g Gen) gen_reflection_strings() { // gen_empty_array generates code for empty array @[inline] fn (g &Gen) gen_empty_array(type_name string) string { - return 'builtin____new_array_with_default(0, 0, sizeof(${type_name}), 0)' + return '((array){.data = 0, .offset = 0, .len = 0, .cap = 0, .flags = 0, .element_size = sizeof(${type_name})})' } // gen_functionarg_array generates the code for functionarg argument -- 2.39.5