blob: 52519fad64621d96c287bbbc4b870f308979870d (
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
|
// { dg-do run }
// Test for partial specialization of a member function template.
// Origin: Jason Merrill <jason@cygnus.com>
template <class T> struct A {
template <class U> int f(U) { return 42; }
};
template <>
template <class U>
int A<char>::f(U);
template <>
template <class U>
int A<double>::f(U) { return 24; }
int main ()
{
A<int> ai;
if (ai.f(0) != 42)
return 1;
A<double> ad;
if (ad.f(0) != 24)
return 1;
A<char> ac;
if (ac.f(0) != 36)
return 1;
}
template <>
template <class U>
int A<char>::f(U) { return 36; }
|