Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.dg/abi/mangle70.C @ 145:1830386684a0
gcc-9.2.0
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 11:34:05 +0900 |
parents | |
children |
line wrap: on
line source
// Verify that class literals are mangled the same way regardless // of the underlying type. // { dg-do compile { target c++2a } } struct I { int a[5], b[5], c[5]; }; template <I> struct X { }; typedef X<I{ {1,2}, {}, {11,12,13,14} }> Ti; void f (Ti) { } // { dg-final { scan-assembler "_Z1f1XIXtl1ItlA5_iLi1ELi2EEtlS1_EtlS1_Li11ELi12ELi13ELi14EEEEE" } } struct C { char a[5], b[5], c[5]; }; template <C> struct Y { }; typedef Y<C{ {1,2}, {}, {11,12,13,14} }> Tca; void g (Tca) { } // { dg-final { scan-assembler "_Z1g1YIXtl1CtlA5_cLc1ELc2EEtlS1_EtlS1_Lc11ELc12ELc13ELc14EEEEE" } } typedef Y<C{ "\1\2", "", {11,12,13,14} }> Tcs; void h (Tcs) { } // { dg-final { scan-assembler "_Z1h1YIXtl1CtlA5_cLc1ELc2EEtlS1_EtlS1_Lc11ELc12ELc13ELc14EEEEE" } } struct S { signed char a[5], b[5], c[5]; }; template <S> struct Z { }; typedef Z<S{ {1,2}, {}, {11,12,13,14} }> Tsc; void i (Tsc) { } // { dg-final { scan-assembler "_Z1i1ZIXtl1StlA5_aLa1ELa2EEtlS1_EtlS1_La11ELa12ELa13ELa14EEEEE" } }