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 
p(void)10 void p(void) {}
11 
12 
foo(void)13 void 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