| // { dg-do link } | |
| // GROUPS passed templates membertemplates | |
| template<int N> | |
| struct I { | |
| }; | |
| template<class T> | |
| struct A { | |
| int r; | |
| template<class T1, class T2> | |
| void operator()(T1, T2) | |
| { r = 0; } | |
| template<int N1, int N2> | |
| void operator()(I<N1>, I<N2>) | |
| { r = 1; } | |
| }; | |
| int main() | |
| { | |
| A<float> x; | |
| I<0> a; | |
| I<1> b; | |
| x(a,b); | |
| if (x.r != 1) | |
| return 1; | |
| x(float(), double()); | |
| if (x.r != 0) | |
| return 1; | |
| return 0; | |
| } |