(root)/
gcc-13.2.0/
gcc/
testsuite/
g++.dg/
parse/
crash12.C
// { 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 { // { dg-message "defined here" }
public:
  counted_ptr(::auto_ptr<_Tp>& __a);		// { dg-message "candidate" }
  ::auto_ptr<_Tp> auto_ptr();
};

template <class _Tp>
inline counted_ptr<_Tp>::counted_ptr(class auto_ptr& __a)
// { dg-error "no declaration matches" "" { target *-*-* } .-1 }
// { dg-error "template argument required" "" { target *-*-* } .-2 }
{
}

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