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