2 // This testcase failed on IA-64, where end of an EH region ended
3 // in the middle of a bundle (with br.call insn in first or second
4 // slot of .bbb/.mbb bundles and EH region end right after it).
5 // But br.call returns to the start of the next bundlem so during
6 // unwinding the call was considered to be outside of the EH region
7 // while it should have been inside.
9 // { dg-require-weak "" }
10 // { dg-options "-O2" }
13 struct B { virtual ~B(); };
15 struct C { void foo (short &, B &); };
16 struct D { void *d1; C *d2; virtual void virt (void) {} };
17 struct E { D *e1; B *e2; };
18 struct F { void bar (void *, B &); };
19 F *p __attribute__((weak));
22 void C::foo (short &x, B &)
29 void F::bar (void *, B &)