PR c++/37276
[official-gcc.git] / gcc / testsuite / g++.dg / conversion / ptrmem9.C
blobd4a260f92731ed17a1ccfc6567338a919d215e89
1 // Copyright (C) 2007 Free Software Foundation
2 // Contributed by Ollie Wild <aaw@google.com>
3 // { dg-do compile }
5 // Test implicit conversion of pointers to member functions appearing as
6 // operands of the equality operators.
8 struct B { };
10 struct BV { };
12 struct D : B, virtual BV { };
14 struct C { };
16 void f ()
18   void (D::*pd) () = 0;
19   void (B::*pb) () = 0;
20   void (BV::*pbv) () = 0;
21   void (C::*pc) () = 0;
23   pd == pb;
24   pd == pbv;  // { dg-error "" }
25   pd == pc;   // { dg-error "comparison between distinct pointer-to-member types" }