// { dg-do run } // Test for composite pointer types, as defined in [expr.rel], // and common pointer to member types, as defined in [expr.eq]. struct A { int i; }; struct B : public A { }; int main () { B b; // The composite type is `A const *' A* ap = &b; const B* bp = &b; if (ap != bp) // { dg-bogus "" } distinct types return 1; // The composite type is `B const *const *' B *const * p = 0; B const * * q = 0; if (p != q) // { dg-bogus "" } distinct types return 1; // The common type is `int const B::*' const int A::*apm = &A::i; int B::*bpm = &A::i; if (apm != bpm) // { dg-bogus "" } distinct types return 1; }