diff options
author | Rico Tzschichholz <ricotz@ubuntu.com> | 2019-10-19 15:15:42 +0200 |
---|---|---|
committer | Rico Tzschichholz <ricotz@ubuntu.com> | 2019-10-19 15:15:42 +0200 |
commit | bf3fd54c105907bb517bf8811c3dd46903c0c4cc (patch) | |
tree | 249eb32ac7a5dae551b09a13c6de16f620fb411d /codegen/valaccodememberaccessmodule.vala | |
parent | b8ca0d9d2fddacda3f60453aa4610dc0b88a0739 (diff) | |
download | vala-bf3fd54c105907bb517bf8811c3dd46903c0c4cc.tar.gz |
codegen: Create alternative for G_N_ELEMENTS in POSIX profile
Diffstat (limited to 'codegen/valaccodememberaccessmodule.vala')
-rw-r--r-- | codegen/valaccodememberaccessmodule.vala | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/codegen/valaccodememberaccessmodule.vala b/codegen/valaccodememberaccessmodule.vala index 3b8933d04..7674402ca 100644 --- a/codegen/valaccodememberaccessmodule.vala +++ b/codegen/valaccodememberaccessmodule.vala @@ -165,7 +165,13 @@ public abstract class Vala.CCodeMemberAccessModule : CCodeControlFlowModule { if (array_type != null) { string sub = ""; for (int i = 0; i < array_type.rank; i++) { - var ccall = new CCodeFunctionCall (new CCodeIdentifier ("G_N_ELEMENTS")); + CCodeFunctionCall ccall; + if (context.profile == Profile.POSIX) { + requires_array_n_elements = true; + ccall = new CCodeFunctionCall (new CCodeIdentifier ("VALA_N_ELEMENTS")); + } else { + ccall = new CCodeFunctionCall (new CCodeIdentifier ("G_N_ELEMENTS")); + } ccall.add_argument (new CCodeIdentifier (get_ccode_name (c) + sub)); append_array_length (expr, ccall); sub += "[0]"; |