Merge from mainline
[official-gcc.git] / gcc / testsuite / g++.dg / other / default3.C
blob324ba7146fe10ad599e5d61223919eb89c8aceae
1 // PR c++/16829
2 // { dg-do "compile" }
4 void f1(int = 0, int);                       // { dg-error "default" }
6 void f2(int = 0, int) {}                     // { dg-error "default" }
8 void f3(int, int);
9 void f3(int = 0, int);                       // { dg-error "default" }
11 void f4(int, int);
12 void f4(int = 0, int) {}                     // { dg-error "default" }
14 void f5();
15 void f5(int = 0, int);                       // { dg-error "default" }
17 void f6();
18 void f6(int = 0, int) {}                     // { dg-error "default" }
20 template<typename> void g1(int = 0, int);    // { dg-error "default" }
22 template<typename> void g2(int = 0, int) {}  // { dg-error "default" }
24 template<typename> void g3(int, int);
25 template<typename> void g3(int = 0, int);    // { dg-error "default" }
27 template<typename> void g4(int, int);
28 template<typename> void g4(int = 0, int) {}  // { dg-error "default" }
30 template<typename> void g5();
31 template<typename> void g5(int = 0, int);    // { dg-error "default" }
33 template<typename> void g6();
34 template<typename> void g6(int = 0, int) {}  // { dg-error "default" }
36 template<typename T> void g7(T, T)   {}
37 template<typename T> void g7(T* = 0, T*) {}  // { dg-error "default" }
40 struct A
42   void F1(int = 0, int);                       // { dg-error "default" }
44   void F2(int = 0, int) {}                     // { dg-error "default" }
46   void F3(int, int);
48   void F4();
49   void F4(int = 0, int);                       // { dg-error "default" }
51   void F5();
52   void F5(int = 0, int) {}                     // { dg-error "default" }
54   template<typename> void G1(int = 0, int);    // { dg-error "default" }
56   template<typename> void G2(int = 0, int) {}  // { dg-error "default" }
58   template<typename> void G3(int, int);
60   template<typename> void G4();
61   template<typename> void G4(int = 0, int);    // { dg-error "default" }
63   template<typename> void G5();
64   template<typename> void G5(int = 0, int) {}  // { dg-error "default" }
66   template<typename T> void G6(T, T)   {}
67   template<typename T> void G6(T* = 0, T*) {}  // { dg-error "default" }
70 void A::F3(int = 0, int) {}                     // { dg-error "default" }
72 template<typename> void A::G3(int = 0, int) {}  // { dg-error "default" }
75 template<typename> struct B
77   void F1(int = 0, int);                       // { dg-error "default" }
79   void F2(int = 0, int) {}                     // { dg-error "default" }
81   void F3(int, int);
83   void F4();
84   void F4(int = 0, int);                       // { dg-error "default" }
86   void F5();
87   void F5(int = 0, int) {}                     // { dg-error "default" }
89   template<typename> void G1(int = 0, int);    // { dg-error "default" }
91   template<typename> void G2(int = 0, int) {}  // { dg-error "default" }
93   template<typename> void G3(int, int);
95   template<typename> void G4();
96   template<typename> void G4(int = 0, int);    // { dg-error "default" }
98   template<typename> void G5();
99   template<typename> void G5(int = 0, int) {}  // { dg-error "default" }
101   template<typename T> void G6(T, T)   {}
102   template<typename T> void G6(T* = 0, T*) {}  // { dg-error "default" }
105 template<typename T>
106 void B<T>::F3(int = 0, int) {}  // { dg-error "default" }
108 template<typename T> template<typename>
109 void B<T>::G3(int = 0, int) {}  // { dg-error "default" }