summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja/g++.pt/crash18.C
blob: a331dd4e5d0cfe8e2e450067de66448a43b81e99 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// { dg-do link  }

template<class T>
class foo {
  T deft;

  template<class U> int priv (U u, T t) { return u - t; }
public:
  foo (T t) : deft (t) {}

  template<class U> int pub (U u) {
    int (foo::*fn) (U, T);
    fn = &foo<T>::template priv<U>;
    return (this->*fn) (u, deft);
  }
};

int
main ()
{
  foo<long> fff (5);
  return fff.pub (3);
}