#include <stdarg.h>
#include <stdio.h>
/*** Macros */
#define CountOf(array) (sizeof (array) / sizeof *(array))
#define ArgCount(...) (CountOf(((int[]){__VA_ARGS__})))
/*** Function declarations */
void test(int arg_count, ...);
#define test(...) test(ArgCount(__VA_ARGS__), __VA_ARGS__)
/*** Function definitions */
int main(void) {
int i, j, k;
i = j = k = 42;
test(i, ++j, k++);
return 0;
}
#undef test
void test(int arg_count, ...) {
va_list vargs;
int arg;
if (!arg_count) {
printf("No arguments passed!\n"); }
while (arg_count--) {
continue;
}
return;
}
I2luY2x1ZGUgPHN0ZGFyZy5oPgojaW5jbHVkZSA8c3RkaW8uaD4KCi8qKiogTWFjcm9zICovCgojZGVmaW5lIENvdW50T2YoYXJyYXkpIChzaXplb2YgKGFycmF5KSAvIHNpemVvZiAqKGFycmF5KSkKI2RlZmluZSBBcmdDb3VudCguLi4pIChDb3VudE9mKCgoaW50W10pe19fVkFfQVJHU19ffSkpKQoKLyoqKiBGdW5jdGlvbiBkZWNsYXJhdGlvbnMgKi8KCnZvaWQgdGVzdChpbnQgYXJnX2NvdW50LCAuLi4pOwojZGVmaW5lIHRlc3QoLi4uKSB0ZXN0KEFyZ0NvdW50KF9fVkFfQVJHU19fKSwgX19WQV9BUkdTX18pCgovKioqIEZ1bmN0aW9uIGRlZmluaXRpb25zICovCgppbnQgbWFpbih2b2lkKSB7CiAgICBpbnQgaSwgaiwgazsKCiAgICBpID0gaiA9IGsgPSA0MjsKICAgIHRlc3QoaSwgKytqLCBrKyspOwogICAgcmV0dXJuIDA7CiAgfQoKI3VuZGVmIHRlc3QKdm9pZCB0ZXN0KGludCBhcmdfY291bnQsIC4uLikgewogICAgdmFfbGlzdCB2YXJnczsKICAgIGludCBhcmc7CgogICAgaWYgKCFhcmdfY291bnQpIHsKICAgICAgICBwcmludGYoIk5vIGFyZ3VtZW50cyBwYXNzZWQhXG4iKTsKICAgICAgfQoKICAgIHByaW50ZigieyAiKTsKICAgIHZhX3N0YXJ0KHZhcmdzLCBhcmdfY291bnQpOwogICAgd2hpbGUgKGFyZ19jb3VudC0tKSB7CiAgICAgICAgYXJnID0gdmFfYXJnKHZhcmdzLCBpbnQpOwogICAgICAgIHByaW50ZigiJWQsICIsIGFyZyk7CiAgICAgICAgY29udGludWU7CiAgICAgIH0KICAgIHZhX2VuZCh2YXJncyk7CiAgICBwcmludGYoIn1cbiIpOwoKICAgIHJldHVybjsKICB9