1 // Contributed by Dodji Seketeli <dodji@redhat.com>
2 // Origin: PR c++/39639
3 // { dg-do compile { target c++11 } }
4 // { dg-prune-output "template argument 1 is invalid" }
5
6 template <class... Types>
7 struct S
8 : S<...Types>, // { dg-error "expected parameter pack before '...'" }
9 S<...Types...>, // { dg-error "expected parameter pack before '...'" }
10 S<...> // { dg-error "expected parameter pack before '...'" }
11 {
fS12 static int f () { return 1;}
13 };
14
15 int
main()16 main ()
17 {
18 return S<void>::f ();
19 }
20
21