aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gcc.target/i386/pr45206.c
blob: 7dd4bd263dc3250368118c5ef30ea30ba76175ad (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/* { dg-do compile } */
/* { dg-options "-Os -fno-omit-frame-pointer" } */

struct _Unwind_Context { void *ra; };

long uw_install_context_1 (struct _Unwind_Context *, struct _Unwind_Context *);

void _Unwind_RaiseException(void)
{
  struct _Unwind_Context this_context, cur_context;
  long offset = uw_install_context_1 (&this_context, &cur_context);
  void *handler = __builtin_frob_return_addr ((&cur_context)->ra);

  __builtin_eh_return (offset, handler);
}