1 // Copyright (C) 2005 Free Software Foundation, Inc. 2 // Contributed by Nathan Sidwell 2 Apr 2005 <nathan@codesourcery.com> 3 4 // PR 20723 5 // Origin: Andrew Pinski <pinskia@gcc.gnu.org> 6 // Nathan Sidwell <nathan@gcc.gnu.org> 7 8 template <typename T> class srp; 9 template <typename T> struct ptr 10 { 11 template <typename U> ptr(const srp<U> &other); // { dg-message "ptr<T>::ptr" } 12 }; 13 template <typename T> struct srp 14 { 15 template <typename U> operator ptr<U>(void) const; // { dg-message "srp<T>::operator" } 16 }; parent_get()17ptr<int> parent_get() 18 { 19 srp<int> parent; 20 return parent; // { dg-error "is ambiguous" } 21 } 22