1/* Test for redefining traditional macros with insignificant 2 (i.e. whitespace) differences. */ 3 4/* { dg-do preprocess } */ 5 6 7#define foo bar 8#define /* x */ foo /* x */ bar /* x */ 9 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 */ 13 14#define f(x, y)x "x y z" y 15#define f(x, y) x "x y z" y 16 17#define baz() whiz bang 18#define baz() whiz bang 19 20#define g foo 21#undef g 22#define g 23 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 } */ 30 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 } */ 37