summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/template/spec10.C
blob: 4bf7f46a29038487dd55f6e59b977460992cf8a8 (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
// { dg-do run }

// Origin: Lynn Akers <lakers@peachtree.com>

// PR c++/10940: Problem handling parameter list for static member
// that is a specialization of a member template of a template class.

template<int b>
class o
{
public:
  template<typename T> static void do_add(T* p, T v);
};

template<>
template<typename T>
inline void o<32>::do_add(T* p, T v)
{
  *p += v;
}

int main()
{
  int a = 0x1000;
  o<32>().do_add<int>(&a, 0x2000);
  return (a != 0x3000);
}