From d33e9fbca63674b7dfa339c25a9d5e27cce187f3 Mon Sep 17 00:00:00 2001 From: Rico Tzschichholz Date: Tue, 17 Mar 2020 15:26:36 +0100 Subject: [PATCH] codegen: Use correctly typed array-length variable for property-getter --- codegen/valaccodememberaccessmodule.vala | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/codegen/valaccodememberaccessmodule.vala b/codegen/valaccodememberaccessmodule.vala index 97e0c48fd..50bd4f121 100644 --- a/codegen/valaccodememberaccessmodule.vala +++ b/codegen/valaccodememberaccessmodule.vala @@ -289,7 +289,12 @@ public abstract class Vala.CCodeMemberAccessModule : CCodeControlFlowModule { ccode.add_assignment (temp_value.array_length_cvalues[0], len_call); } else if (get_ccode_array_length (prop)) { for (int dim = 1; dim <= array_type.rank; dim++) { - ccall.add_argument (new CCodeUnaryExpression (CCodeUnaryOperator.ADDRESS_OF, get_array_length_cvalue (temp_value, dim))); + var length_ctype = get_ccode_array_length_type (prop) ?? get_ccode_array_length_type (array_type); + var temp_var = get_temp_variable (new CType (length_ctype, "0"), true, null, true); + var temp_ref = get_variable_cexpression (temp_var.name); + emit_temp_var (temp_var); + ccall.add_argument (new CCodeUnaryExpression (CCodeUnaryOperator.ADDRESS_OF, temp_ref)); + ccode.add_assignment (temp_value.array_length_cvalues[dim - 1], temp_ref); } } } else { -- 2.47.2