blob: 0218a7eaacc15f9816dbc17a34a761e8f813f08a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
// { dg-do run }
extern "C" void abort ();
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)
abort();
x(float(), double());
if (x.r != 0)
abort();
return 0;
}
|