1// { dg-do run } 2// Test for composite pointer types, as defined in [expr.rel], 3// and common pointer to member types, as defined in [expr.eq]. 4 5struct A { int i; }; 6struct B : public A { }; 7 8int main () 9{ 10 B b; 11 12 // The composite type is `A const *' 13 A* ap = &b; 14 const B* bp = &b; 15 if (ap != bp) // { dg-bogus "" } distinct types 16 return 1; 17 18 // The composite type is `B const *const *' 19 B *const * p = 0; 20 B const * * q = 0; 21 if (p != q) // { dg-bogus "" } distinct types 22 return 1; 23 24 // The common type is `int const B::*' 25 const int A::*apm = &A::i; 26 int B::*bpm = &A::i; 27 if (apm != bpm) // { dg-bogus "" } distinct types 28 return 1; 29} 30