1 /* { dg-do compile } */
2 /* { dg-options "-g" } */
4 /* Make sure we didn't eliminate casted types because we thought they were
12 return ((struct foo *)0x1234)->i;
15 struct boo { int i; };
18 return reinterpret_cast<struct boo *>(0xC0FFEE)->i;
21 struct cue { int i; };
24 return static_cast<struct cue *>(voidp)->i;
27 class printer { public: int i; };
28 const printer *dotmatrix;
31 return const_cast<printer *>(dotmatrix)->i;
34 class class1 { virtual ~class1(); } *c1;
35 class class2 : class1 { char j; };
38 if (dynamic_cast <class2 *>(c1))
43 /* { dg-final { scan-assembler "foo" } } */
44 /* { dg-final { scan-assembler "boo" } } */
45 /* { dg-final { scan-assembler "cue" } } */
46 /* { dg-final { scan-assembler "stringz?\t\"class2\"" } } */
47 /* { dg-final { scan-assembler "stringz?\t\"printer\"" } } */