// { 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; | |
} |