diff options
Diffstat (limited to 'gcc/testsuite/g++.dg/abi/mangle6.C')
-rw-r--r-- | gcc/testsuite/g++.dg/abi/mangle6.C | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/abi/mangle6.C b/gcc/testsuite/g++.dg/abi/mangle6.C new file mode 100644 index 000000000..280fe2499 --- /dev/null +++ b/gcc/testsuite/g++.dg/abi/mangle6.C @@ -0,0 +1,23 @@ +/* Check that __int128 types are mangled. */ +/* { dg-do compile { target mips*-*-* } } */ + +#ifdef __mips64 +typedef int int128 __attribute__ ((mode(TI))); +typedef unsigned int uint128 __attribute__ ((mode(TI))); + +struct S +{ + int128 i; + int128 func1 (int128) const { return i; } + uint128 func2 (uint128) const { return i; } +}; + +int128 (S::*ptr1) (int128) const = &S::func1; +uint128 (S::*ptr2) (uint128) const = &S::func2; +#else +const char *str1 = "_ZNK1S5func1En"; +const char *str2 = "_ZNK1S5func2Eo"; +#endif + +/* { dg-final { scan-assembler _ZNK1S5func1En } } */ +/* { dg-final { scan-assembler _ZNK1S5func2Eo } } */ |