From 610558d46763924c93f9c50243ae2089910dfad9 Mon Sep 17 00:00:00 2001 From: Felipe Pena Date: Fri, 13 Dec 2024 03:14:52 -0300 Subject: [PATCH] cgen: fix array fixed auto str on `-cstrict` (#23144) --- vlib/v/gen/c/auto_str_methods.v | 2 +- vlib/v/gen/c/testdata/fixed_arr_compare.c.must_have | 4 ++++ vlib/v/gen/c/testdata/fixed_arr_compare.vv | 4 ++++ 3 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 vlib/v/gen/c/testdata/fixed_arr_compare.c.must_have create mode 100644 vlib/v/gen/c/testdata/fixed_arr_compare.vv diff --git a/vlib/v/gen/c/auto_str_methods.v b/vlib/v/gen/c/auto_str_methods.v index 7e2dbf84c..2e4aaa4f1 100644 --- a/vlib/v/gen/c/auto_str_methods.v +++ b/vlib/v/gen/c/auto_str_methods.v @@ -714,7 +714,7 @@ fn (mut g Gen) gen_str_for_array_fixed(info ast.ArrayFixed, styp string, str_fn_ elem_str_fn_name := g.get_str_fn(typ) def_arg := if info.is_fn_ret { '${g.styp(typ)} a[${info.size}]' } else { '${styp} a' } - g.definitions.writeln('string ${str_fn_name}(); // auto') + g.definitions.writeln('string ${str_fn_name}(${def_arg}); // auto') g.auto_str_funcs.writeln('string ${str_fn_name}(${def_arg}) { return indent_${str_fn_name}(a, 0);}') g.definitions.writeln('string indent_${str_fn_name}(${def_arg}, int indent_count); // auto') g.auto_str_funcs.writeln('string indent_${str_fn_name}(${def_arg}, int indent_count) {') diff --git a/vlib/v/gen/c/testdata/fixed_arr_compare.c.must_have b/vlib/v/gen/c/testdata/fixed_arr_compare.c.must_have new file mode 100644 index 000000000..cdde45f46 --- /dev/null +++ b/vlib/v/gen/c/testdata/fixed_arr_compare.c.must_have @@ -0,0 +1,4 @@ +bool Array_u8_contains(Array_u8 a, u8 v); // auto +string Array_fixed_int_2_str(Array_fixed_int_2 a); // auto +string indent_Array_fixed_int_2_str(Array_fixed_int_2 a, int indent_count); // auto +bool Array_fixed_int_2_arr_eq(Array_fixed_int_2 a, Array_fixed_int_2 b); // auto diff --git a/vlib/v/gen/c/testdata/fixed_arr_compare.vv b/vlib/v/gen/c/testdata/fixed_arr_compare.vv new file mode 100644 index 000000000..ba9c393c6 --- /dev/null +++ b/vlib/v/gen/c/testdata/fixed_arr_compare.vv @@ -0,0 +1,4 @@ +fn main() { + a := [1, 2]! + assert a == a +} -- 2.39.5