C99 supports "Variadic Macros":
#define TEST(format, ...) func(format, __VA_ARGS__)
I encountered variadic macro syntax coloring problem with AssistX
Line 10: incomplete syntax coloring
Line 11: wrong mistyped symbols promption
Code for test:
#include <stdio.h>
#define DECLARE(ENTRY, ...) \ enum{ENTRY,__VA_ARGS__}; char *allDays = #ENTRY ## ", " ## #__VA_ARGS__;
int main(int argc, char* argv[]) {
DECLARE(Sunday, Monday, Tuesday)
printf_s("Out: Tuesday ranks %d in { %s }\\n", Tuesday, allDays);
return 0;
}