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 { };
11 template <template <auto...> class TT>
14 template <template <int...> class TT>
17 template <class T> struct C {
18 template <template <T...> class TT> static void j(TT<42>);
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" } }