vala-0.48: compilation error in codegen/valaccodearraymodule.c
When compiling vala-0.48.0 on NetBSD/amd64 with gcc 8.3.0 and glib2-2.64.0, I see:
In file included from .../include/glib-2.0/glib/gerror.h:26,
from .../include/glib-2.0/glib/gthread.h:33,
from .../include/glib-2.0/glib/gasyncqueue.h:32,
from .../include/glib-2.0/glib.h:32,
from .../include/glib-2.0/gobject/gbinding.h:28,
from .../include/glib-2.0/glib-object.h:22,
from ../vala/vala.h:6,
from valacodegen.h:6,
from valaccodearraymodule.c:28:
valaccodearraymodule.c: In function 'vala_ccode_array_module_real_append_params_array':
valaccodearraymodule.c:4666:25: error: expected identifier or '(' before '__builtin_va_arg'
ValaCCodeFunctionCall* va_arg = NULL;
^~~~~~
valaccodearraymodule.c:5006:9: error: expected '(' before '=' token
va_arg = _tmp156_;
^
(
valaccodearraymodule.c:5013:47: error: expected '(' before ',' token
vala_ccode_function_call_add_argument (va_arg, (ValaCCodeExpression*) _tmp162_);
^
(
valaccodearraymodule.c:5024:47: error: expected '(' before ',' token
vala_ccode_function_call_add_argument (va_arg, (ValaCCodeExpression*) _tmp169_);
^
(
valaccodearraymodule.c:5073:87: error: expected '(' before ')' token
vala_ccode_function_add_assignment (_tmp197_, _tmp200_, (ValaCCodeExpression*) va_arg);
^
(
valaccodearraymodule.c:37:44: error: expected '(' before '==' token
#define _vala_ccode_node_unref0(var) ((var == NULL) ? NULL : (var = (vala_ccode_node_unref (var), NULL)))
^~
valaccodearraymodule.c:5099:2: note: in expansion of macro '_vala_ccode_node_unref0'
_vala_ccode_node_unref0 (va_arg);
^~~~~~~~~~~~~~~~~~~~~~~
valaccodearraymodule.c:37:67: error: expected '(' before '=' token
#define _vala_ccode_node_unref0(var) ((var == NULL) ? NULL : (var = (vala_ccode_node_unref (var), NULL)))
^
valaccodearraymodule.c:5099:2: note: in expansion of macro '_vala_ccode_node_unref0'
_vala_ccode_node_unref0 (va_arg);
^~~~~~~~~~~~~~~~~~~~~~~
I'm not sure how to fix this, adding #include <stdarg.h>
doesn't.