rs6000: Correct the function code for _AMO_LD_DEC_BOUNDED
[official-gcc.git] / gcc / testsuite / g++.dg / abi / mangle70.C
blob197727c5ad1368606af2fa71a62f62e823b6062c
1 // Verify that class literals are mangled the same way regardless
2 // of the underlying type.
3 // { dg-do compile { target c++2a } }
4 // { dg-additional-options -fabi-compat-version=0 }
6 struct I { int a[5], b[5], c[5]; };
7 template <I> struct X { };
9 typedef X<I{ {1,2}, {}, {11,12,13,14} }> Ti;
10 void f (Ti) { }
11 // { dg-final { scan-assembler "_Z1f1XIXtl1ItlA5_iLi1ELi2EEtlS1_EtlS1_Li11ELi12ELi13ELi14EEEEE" } }
13 struct C { char a[5], b[5], c[5]; };
14 template <C> struct Y { };
16 typedef Y<C{ {1,2}, {}, {11,12,13,14} }> Tca;
17 void g (Tca) { }
18 // { dg-final { scan-assembler "_Z1g1YIXtl1CtlA5_cLc1ELc2EEtlS1_EtlS1_Lc11ELc12ELc13ELc14EEEEE" } }
20 typedef Y<C{ "\1\2", "", {11,12,13,14} }> Tcs;
21 void h (Tcs) { }
22 // { dg-final { scan-assembler "_Z1h1YIXtl1CtlA5_cLc1ELc2EEtlS1_EtlS1_Lc11ELc12ELc13ELc14EEEEE" } }
24 struct S { signed char a[5], b[5], c[5]; };
25 template <S> struct Z { };
27 typedef Z<S{ {1,2}, {}, {11,12,13,14} }> Tsc;
29 void i (Tsc) { }
30 // { dg-final { scan-assembler "_Z1i1ZIXtl1StlA5_aLa1ELa2EEtlS1_EtlS1_La11ELa12ELa13ELa14EEEEE" } }