summaryrefslogtreecommitdiff
path: root/codegen/valaccodememberaccessmodule.vala
diff options
context:
space:
mode:
authorRico Tzschichholz <ricotz@ubuntu.com>2019-10-19 15:15:42 +0200
committerRico Tzschichholz <ricotz@ubuntu.com>2019-10-19 15:15:42 +0200
commitbf3fd54c105907bb517bf8811c3dd46903c0c4cc (patch)
tree249eb32ac7a5dae551b09a13c6de16f620fb411d /codegen/valaccodememberaccessmodule.vala
parentb8ca0d9d2fddacda3f60453aa4610dc0b88a0739 (diff)
downloadvala-bf3fd54c105907bb517bf8811c3dd46903c0c4cc.tar.gz
codegen: Create alternative for G_N_ELEMENTS in POSIX profile
Diffstat (limited to 'codegen/valaccodememberaccessmodule.vala')
-rw-r--r--codegen/valaccodememberaccessmodule.vala8
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]";