testsuite: suppress mangling compatibility aliases
[official-gcc.git] / gcc / testsuite / g++.dg / abi / mangle-ttp1.C
blob0c3660dd79eb506272f636bc6d865de89fbc73ef
1 // ABI #47 "natural" template parameter mangling
2 // { dg-do compile { target c++17 } }
3 // { dg-additional-options -fabi-compat-version=0 }
5 template <template <class...> class TT> class A { };
6 template <int... T> class B { };
8 template <auto... T>
9 void f(B<T...> b);
11 template <template <auto...> class TT>
12 void g(TT<42>);
14 template <template <int...> class TT>
15 void h(TT<42>);
17 template <class T> struct C {
18   template <template <T...> class TT> static void j(TT<42>);
21 int main()
23   B<42> b;
24   f(b); // { dg-final { scan-assembler "_Z1fITpTnDaJLi42EEEv1BIJXspT_EEE" } }
25   g(b); // { dg-final { scan-assembler "_Z1gITtTpTnDaE1BEvT_IJLi42EEE" } }
26   h(b); // { dg-final { scan-assembler "_Z1hI1BEvT_IJLi42EEE" } }
27   C<int>::j(b); // { dg-final { scan-assembler "_ZN1CIiE1jI1BEEvT_IJLi42EEE" } }