Commit b8b0126f by Jason Merrill

new

From-SVN: r25968
parent 5b163de4
// 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;
}
// Build don't link:
namespace A {
int i;
}
using namespace A;
namespace B {
int i;
}
using namespace B;
int i;
// Test to make sure g++ can handle target types that aren't identical
// with pointers to members.
struct A { int i; };
struct B : public A { };
int main ()
{
int A::*p = &A::i;
const int B::*q = &A::i;
return p != q;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment