Consider the following preprocessed program using varargs.
typedef __builtin_va_list va_list;
int add_nums(int count, ...)
{
int result = 0;
va_list args;
__builtin_va_start(args, count);
for (int i = 0; i < count; ++i) {
result += __builtin_va_arg(args, int); // Error: expression expected, not `int`
}
__builtin_va_end(args);
return result;
}
__builtin_va_arg is unusual, looking like a function, but taking a type as the second argument.
Comment #1 by bugzilla — 2021-09-28T06:20:56Z
*** This issue has been marked as a duplicate of issue 21974 ***