summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/parse/crash12.C
blob: 769ca2e934346e4ebe38ca4c9c97d560266166bb (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
// { dg-do compile }

// Origin: Martin von Loewis <martin@v.loewis.de>

// PR c++/157: Incorrect type/template decision in function parameter.

template <class _Tp> class auto_ptr {};
template <class _Tp>
class counted_ptr
{
public:
  counted_ptr(::auto_ptr<_Tp>& __a);		// { dg-error "candidate" }
  ::auto_ptr<_Tp> auto_ptr();
};

template <class _Tp>
inline counted_ptr<_Tp>::counted_ptr(class auto_ptr& __a) // { dg-error "required|not match|template" }
{
}

template <class _Tp>
inline class auto_ptr<_Tp> counted_ptr<_Tp>::auto_ptr() 
{
}