summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/cpp/c90-empty-macro-args.c
blob: e90f8e6cb69c1e817187caef3957c51c6751a8aa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/* { dg-do compile } */
/* { dg-options "-std=c89 -pedantic" } */

#define f(a,b)   f2(a,,b) 
#define f2(a,b,c) a; b; c;
#define f3(a)    a

#define g()   p()

void p(void) {}


void foo(void)
{
    f(p(),p()); /* { dg-warning "macro f2 argument 2: empty macro arguments are undefined" } */
    f2(p(),,p()); /* { dg-warning "macro f2 argument 2: empty macro arguments are undefined" } */
    f3(); /* { dg-warning "macro f3 argument 1: empty macro arguments are undefined" } */
    g();
}