blob: 918e69742d845d474e25458376e2e28999f39ba2 [file] [log] [blame]
// 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) // gets bogus error - distinct types XFAIL *-*-*
return 1;
// The composite type is `B const *const *'
B *const * p = 0;
B const * * q = 0;
if (p != q) // gets bogus error - distinct types XFAIL *-*-*
return 1;
// The common type is `int const B::*'
const int A::*apm = &A::i;
int B::*bpm = &A::i;
if (apm != bpm) // gets bogus error - distinct types XFAIL *-*-*
return 1;
}