diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.mike/mangle1.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.mike/mangle1.C | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/mangle1.C b/gcc/testsuite/g++.old-deja/g++.mike/mangle1.C new file mode 100644 index 000000000..de5e96588 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.mike/mangle1.C @@ -0,0 +1,27 @@ +// { dg-do assemble } +// { dg-options "" } + +// Make sure the typedef name is used in name mangling, not some random +// anonymous name + +struct foo { + typedef enum { red } color; + void bar(color r) { + } +} f; + +#ifdef sparc +void f1() asm("bar__3fooQ23foo3$_0"); +void f1() { +} +void f2() asm("_bar__3fooQ23foo3$_0"); +void f2() { +} +void f3() asm("__bar__3fooQ23foo3$_0"); +void f3() { +} +#endif + +main() { + f.bar(foo::red); +} |