| /* Test for redefining traditional macros with insignificant |
| (i.e. whitespace) differences. */ |
| |
| /* { dg-do preprocess } */ |
| |
| |
| #define foo bar |
| #define /* x */ foo /* x */ bar /* x */ |
| |
| #define quux(thud) a one and a thud and a two |
| #define /**/ quux( thud ) /**/ a one and a /**/ thud /**/ and /**/ a two |
| #define quux(thud) a one and a thud and a two /* bah */ |
| |
| #define f(x, y)x "x y z" y |
| #define f(x, y) x "x y z" y |
| |
| #define baz() whiz bang |
| #define baz() whiz bang |
| |
| #define g foo |
| #undef g |
| #define g |
| |
| /* { dg-bogus "redefined" "foo redefined" { target *-*-* } 8 } */ |
| /* { dg-bogus "redefined" "quux redefined" { target *-*-* } 11 } */ |
| /* { dg-bogus "redefined" "quux redefined" { target *-*-* } 12 } */ |
| /* { dg-bogus "redefined" "f redefined" { target *-*-* } 15 } */ |
| /* { dg-bogus "redefined" "baz redefined" { target *-*-* } 18 } */ |
| /* { dg-bogus "redefined" "g redefined" { target *-*-* } 22 } */ |
| |
| /* { dg-bogus "previous def" "foo prev def" { target *-*-* } 7 } */ |
| /* { dg-bogus "previous def" "quux prev def" { target *-*-* } 10 } */ |
| /* { dg-bogus "previous def" "quux prev def" { target *-*-* } 11 } */ |
| /* { dg-bogus "previous def" "f prev def" { target *-*-* } 14 } */ |
| /* { dg-bogus "previous def" "baz prev def" { target *-*-* } 17 } */ |
| /* { dg-bogus "previous def" "g prev def" { target *-*-* } 20 } */ |