1 // { dg-do assemble  }
2 // Bug: g++ fails to prefer UDC's alone to UDC's plus standard conversions.
3 
4 struct B { };
5 struct D: public B { };
6 struct DP {
7   operator D * () const;
8   operator double () const;
9 };
10 
11 void f (B *);
12 void f (D *);
13 void g (double);
14 void g (float);
15 
h(DP p)16 void h (DP p)
17 {
18   f (p);
19   g (p);
20 }
21