// { dg-do run  }
// PRMS Id: 5184
// Bug: cast to C& below does not adjust address
struct A {};
struct B {
  virtual void foo () {}
};
struct C : public B, public A {};
int main() {
    C c;
    A& ar = c;
    C& cr = (C&)ar;
    cr.foo();	// this line causes core dump
}