2003-12-26 Guilhem Lavaux <guilhem@kaffe.org>
[official-gcc.git] / gcc / testsuite / gcc.dg / cpp / redef2.c
blobb0068d91626282a37a3d731483bdcace2c3dd044
1 /* Test for redefining macros with significant differences. */
3 /* { dg-do preprocess }
4 { dg-options "-ansi -Wall -fno-show-column" } */
6 #define mac(a, b) (a) + (b)
7 #define mac(a, b) (a) * (b)
8 #define mac(a, b) (a) * (x)
9 #define mac(a, g) (a) * (x)
11 #define ro(x) foo x bar
12 #define ro(x, b) foo x bar
14 #define va(a...) a
15 #define va(...) __VA_ARGS__
17 #define foo(x) x
18 #define foo(x)x /* { dg-bogus "redefined" "redefined foo" } */
20 /* { dg-warning "redefined" "redef mac" { target *-*-* } 7 }
21 { dg-warning "redefined" "redef mac" { target *-*-* } 8 }
22 { dg-warning "redefined" "redef mac" { target *-*-* } 9 }
23 { dg-warning "redefined" "redef ro" { target *-*-* } 12 }
24 { dg-warning "redefined" "redef va" { target *-*-* } 15 }
26 { dg-warning "previous" "prev def mac" { target *-*-* } 6 }
27 { dg-warning "previous" "prev def mac" { target *-*-* } 7 }
28 { dg-warning "previous" "prev def mac" { target *-*-* } 8 }
29 { dg-warning "previous" "prev def ro" { target *-*-* } 11 }
30 { dg-warning "previous" "prev def va" { target *-*-* } 14 }