// Special g++ Options: -fexceptions -w
// excess errors test - XFAIL a29k-*-* sparc64-*-elf sh-*-* arm-*-pe**-*
// Ensure that the return type of dynamic_cast is the real type.

struct B {
  virtual int f() { }
};

struct D : public B {
  virtual int f() { }
  int i;
} od;

main() {
  B *b=&od;
  if (dynamic_cast<D*>(b)->i)
    return 1;
  return 0;
}
