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