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
8template <typename T> class srp;
9template <typename T> struct ptr
10{
11  template <typename U> ptr(const srp<U> &other); // { dg-message "ptr<T>::ptr" }
12};
13template <typename T> struct srp
14{
15  template <typename U> operator ptr<U>(void) const; // { dg-message "srp<T>::operator" }
16};
17ptr<int> parent_get()
18{
19  srp<int> parent;
20  return parent; // { dg-error "is ambiguous" }
21}
22