Merge -r 127928:132243 from trunk
[official-gcc.git] / gcc / testsuite / g++.dg / cpp0x / vt-34055.C
blob8ad9c2d52661d52ea1b5f785e0908b77c2bd6688
1 // { dg-options "-std=c++0x" }
2 // PR c++/34055
3 template<typename...> struct A;
5 template<typename...T> struct A<T*> // { dg-error "parameter packs|T" }
6 {   // { dg-error "parameter packs|T" }
7   void foo();  // { dg-error "parameter packs|T|candidate" }
8 };
10 template<typename...T> void A<T*>::foo() {} // { dg-error "does not match" }
14 template<typename...> struct B;
16 template<typename...T> struct B<T&> // { dg-error "parameter packs|T" }
17 { // { dg-error "parameter packs|T" }
18   void foo(); // { dg-error "parameter packs|T" }
21 template<typename...T> void B<T&>::foo() {} // { dg-error "does not match" }
24 template<typename...> struct C;
26 template<typename...T> struct C<T()> // { dg-error "parameter packs|T" }
27 { // { dg-error "parameter packs|T" }
28   void foo(); // { dg-error "parameter packs|T" }
31 template<typename...T> void C<T()>::foo() {} // { dg-error "does not match" }