Zero variable arguments should be allowed in C23 (original) (raw)
Clang doesn't allow zero variable arguments in macro invocations of macros with named arguments and then variable arguments. Here is an example program (https://godbolt.org/z/xbacsGqbM):
#include<stdarg.h> void foo(...){ va_list v; va_start(v); va_arg(v,int(*)[5]); va_end(v); } int main(void){ foo(&(int[]){1,2,3,4,5}); }
Clang complains here about not having a comma in va_start and wants va_start(v,). This restriction was removed in C23 so this code should be allowed without any complaint.