1 2 3 4 5 6 7 8 9 10 11 12
// { dg-do assemble } // Bug: g++ thinks there is a conversion from void * to B *. struct A { operator void* (); }; struct B: public A { }; void bar (A& a) { B* bp = (B*)a; // { dg-error "" } }