1/* { dg-do compile } */
2/* { dg-options "-std=c89 -pedantic" } */
3
4#define f(a,b)   f2(a,,b)
5#define f2(a,b,c) a; b; c;
6#define f3(a)    a
7
8#define g()   p()
9
10void p(void) {}
11
12
13void foo(void)
14{
15    f(p(),p()); /* { dg-warning "macro f2 argument 2: empty macro arguments are undefined" } */
16    f2(p(),,p()); /* { dg-warning "macro f2 argument 2: empty macro arguments are undefined" } */
17    f3(); /* { dg-warning "macro f3 argument 1: empty macro arguments are undefined" } */
18    g();
19}
20