summaryrefslogtreecommitdiff
path: root/codegen/valaccodememberaccessmodule.vala
diff options
context:
space:
mode:
authorGeorge Barrett <bob@bob131.so>2017-12-12 14:37:38 +1100
committerRico Tzschichholz <ricotz@ubuntu.com>2018-11-02 14:24:10 +0100
commit29a4a868b8800ad6b4505bcc1226a01a12919fbf (patch)
tree14e53f31752a7dc6f6f022f4828bc163d76377bf /codegen/valaccodememberaccessmodule.vala
parent36671ae5def89b46384e627a467247c834948254 (diff)
downloadvala-29a4a868b8800ad6b4505bcc1226a01a12919fbf.tar.gz
codegen: Remove hardcoded "int" length type and use ArrayType.length_type
https://gitlab.gnome.org/GNOME/vala/issues/607
Diffstat (limited to 'codegen/valaccodememberaccessmodule.vala')
-rw-r--r--codegen/valaccodememberaccessmodule.vala4
1 files changed, 2 insertions, 2 deletions
diff --git a/codegen/valaccodememberaccessmodule.vala b/codegen/valaccodememberaccessmodule.vala
index 400448643..ca8b6b6df 100644
--- a/codegen/valaccodememberaccessmodule.vala
+++ b/codegen/valaccodememberaccessmodule.vala
@@ -727,10 +727,10 @@ public abstract class Vala.CCodeMemberAccessModule : CCodeControlFlowModule {
result.append_array_length_cvalue (new CCodeConstant ("-1"));
}
result.lvalue = false;
- } else if (get_ccode_array_length_type (variable) != null) {
+ } else if (get_ccode_array_length_type (variable.variable_type) != get_ccode_array_length_type (array_type)) {
for (int dim = 1; dim <= array_type.rank; dim++) {
// cast if variable does not use int for array length
- result.array_length_cvalues[dim - 1] = new CCodeCastExpression (result.array_length_cvalues[dim - 1], "gint");
+ result.array_length_cvalues[dim - 1] = new CCodeCastExpression (result.array_length_cvalues[dim - 1], get_ccode_array_length_type (array_type));
}
result.lvalue = false;
}