summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja/g++.mike/dyncast3.C
blob: 662a37e0d600028f7eef5cc4302a3948db205122 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// { dg-do run { xfail sparc64-*-elf arm-*-pe**-* } }
// { dg-options "-fexceptions -w" }
// 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;
}