blob: ce5dde0bb3775160e3340b51ae133404c0dc792d [file] [log] [blame]
/* 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 } */