// Copyright (C) 2005 Free Software Foundation, Inc. // Contributed by Nathan Sidwell 2 Apr 2005 <nathan@codesourcery.com> // PR 20723 // Origin: Andrew Pinski <pinskia@gcc.gnu.org> // Nathan Sidwell <nathan@gcc.gnu.org> template <typename T> class srp; template <typename T> struct ptr { template <typename U> ptr(const srp<U> &other); // { dg-error "ptr<T>::ptr" } }; template <typename T> struct srp { template <typename U> operator ptr<U>(void) const; // { dg-error "srp<T>::operator" } }; ptr<int> parent_get() { srp<int> parent; return parent; // { dg-error "is ambiguous" } }