2003-12-26 Guilhem Lavaux <guilhem@kaffe.org>
[official-gcc.git] / gcc / testsuite / gcc.dg / cpp / trad / redef1.c
blobce5dde0bb3775160e3340b51ae133404c0dc792d
1 /* Test for redefining traditional macros with insignificant
2 (i.e. whitespace) differences. */
4 /* { dg-do preprocess } */
7 #define foo bar
8 #define /* x */ foo /* x */ bar /* x */
10 #define quux(thud) a one and a thud and a two
11 #define /**/ quux( thud ) /**/ a one and a /**/ thud /**/ and /**/ a two
12 #define quux(thud) a one and a thud and a two /* bah */
14 #define f(x, y)x "x y z" y
15 #define f(x, y) x "x y z" y
17 #define baz() whiz bang
18 #define baz() whiz bang
20 #define g foo
21 #undef g
22 #define g
24 /* { dg-bogus "redefined" "foo redefined" { target *-*-* } 8 } */
25 /* { dg-bogus "redefined" "quux redefined" { target *-*-* } 11 } */
26 /* { dg-bogus "redefined" "quux redefined" { target *-*-* } 12 } */
27 /* { dg-bogus "redefined" "f redefined" { target *-*-* } 15 } */
28 /* { dg-bogus "redefined" "baz redefined" { target *-*-* } 18 } */
29 /* { dg-bogus "redefined" "g redefined" { target *-*-* } 22 } */
31 /* { dg-bogus "previous def" "foo prev def" { target *-*-* } 7 } */
32 /* { dg-bogus "previous def" "quux prev def" { target *-*-* } 10 } */
33 /* { dg-bogus "previous def" "quux prev def" { target *-*-* } 11 } */
34 /* { dg-bogus "previous def" "f prev def" { target *-*-* } 14 } */
35 /* { dg-bogus "previous def" "baz prev def" { target *-*-* } 17 } */
36 /* { dg-bogus "previous def" "g prev def" { target *-*-* } 20 } */