blob: 61921fded8f9ac48d6fa0185a2e7faf5afffb5ab [file] [log] [blame]
// { 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()
{
}