1 // PR c++/64521
2 // { dg-options "-frepo -std=c++11" }
3 // { dg-require-host-local "" }
4 // { dg-skip-if "dkms are not final links" { vxworks_kernel } }
5 // { dg-final cleanup-repo-files }
6 
JJ7 template <typename H> struct J { J(H) {} };
8 template <unsigned long, typename...> struct K;
9 template <unsigned long I> struct K<I> {};
10 template <unsigned long I, typename H, typename... T>
11 struct K<I, H, T...> : K<I + 1, T...>, J<H> {
12   K(const H &p1, const T &... p2) : K<I + 1, T...>(p2...), J<H>(p1) {}
13 };
14 template <typename... E> struct C : K<0, E...> {
15   C(const E &... p1) : K<0, E...>(p1...) {}
16 };
17 template <typename> struct A {
18   A() = default;
19 };
20 struct M;
21 template <typename> struct L {
22   struct B {
23     template <typename> static M *__test(...);
24     typedef A<int> _Del;
25     typedef decltype(__test<_Del>()) type;
26   };
27   C<typename B::type, A<M>> _M_t;
28   L(typename B::type) : _M_t(0, A<M>()) {}
29 };
30 struct M {};
31 int main() { L<int>(new M); }
32