1 /* { dg-final { scan-assembler "bar" } } */
2 /* { dg-final { scan-assembler-not "foo" } } */
3 /* { dg-final { scan-assembler "_Z3bazv" } } */
4 /* { dg-final { scan-assembler-not "baq" } } */
5 /* { dg-final { scan-assembler "tut" } } */
6 /* { dg-final { scan-assembler-not "gee" } } */
7 /* { dg-final { scan-assembler "bang" } } */
8 /* { dg-final { scan-assembler-not "whiz" } } */
9 /* { dg-final { scan-assembler "eek" } } */
10 /* { dg-final { scan-assembler-not "boo" } } */
12 #ifndef __PRAGMA_REDEFINE_EXTNAME
16 /* This one is expected to work. */
17 #pragma redefine_extname foo bar
18 extern "C" int foo(void);
21 /* This one is expected not to work (redefine_extname
22 can only be applied to extern "C" names). */
23 #pragma redefine_extname baz baq
28 // These are expected to work.
29 #pragma redefine_extname gee tut
31 extern "C" int gee(void);
34 extern "C" int whiz(void);
37 #pragma redefine_extname whiz bang
38 int (*s)() = somewhere::whiz;
41 extern "C" int whiz(void);
43 int (*t)() = elsewhere::whiz;
47 extern "C" int boo(void);
52 extern "C" int boo(void);
54 #pragma redefine_extname boo eek