/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -fcf-protection -mharden-sls=indirect-jmp" } */

struct _Unwind_Context _Unwind_Resume_or_Rethrow_this_context;

void offset (int);

struct _Unwind_Context {
  void *reg[7];
} _Unwind_Resume_or_Rethrow() {
  struct _Unwind_Context cur_contextcur_context =
      _Unwind_Resume_or_Rethrow_this_context;
  offset(0);
  __builtin_eh_return ((long) offset, 0);
}

/* { dg-final { scan-assembler "jmp\[ \t\]+\\*%rcx" } } */
/* { dg-final { scan-assembler-times "int3" 1 } } */
