ref: d9cfe3ba586178478b6d89751132b7767b7e17af
dir: /tests/execute/0087-variadic.c/
#define ARGS(...) __VA_ARGS__ int none() { return 0; } int one(int a) { if (a != 1) return 1; return 0; } int two(int a, int b) { if (a != 1) return 1; if (b != 2) return 1; return 0; } int three(int a, int b, int c) { if (a != 1) return 1; if (b != 2) return 1; if (c != 3) return 1; return 0; } int main() { if (none(ARGS())) return 1; if (one(ARGS(1))) return 2; if (two(ARGS(1, 2))) return 3; if (three(ARGS(1, 2, 3))) return 4; return 0; }