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