/* { dg-final { scan-assembler "bar" } } */ /* { dg-final { scan-assembler-not "foo" } } */ /* { dg-final { scan-assembler "_Z3bazv" } } */ /* { dg-final { scan-assembler-not "baq" } } */ #ifndef __PRAGMA_REDEFINE_EXTNAME #error #endif /* This one is expected to work. */ #pragma redefine_extname foo bar extern "C" int foo(void); int (*p)(void) = foo; /* This one is expected not to work (redefine_extname can only be applied to extern "C" names). */ #pragma redefine_extname baz baq extern int baz(void); int (*q)(void) = baz;