{
  void **src_ptr = (void**)(_SOURCE_PTR);
typedef int sigjmp_buf[17  + 1];
typedef int jmp_buf[17 ];
int	setjmp  (jmp_buf)  ;
void	longjmp  (jmp_buf, int)  ;
int	sigsetjmp  (sigjmp_buf, int)  ;
void	volatile siglongjmp  (sigjmp_buf, int)  ;
int	_setjmp  (jmp_buf)  ;
void	volatile _longjmp  (jmp_buf, int)  ;
void	longjmperror  (void)  ;
  _SAVE_RVARS
  _push_exception_context (&_local_context);
  if (setjmp(*(jmp_buf*)(&_local_context.jmpbuf)) > 0) {
    extern void* _exception_source;
    _RESTORE_RVARS
    *src_ptr = (void*)_exception_source;
  } else {
    *src_ptr = NULL;
  }
}
