summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/torture/pr57147-3.c
blob: 7a5926a16304e6387ac58c4991c178d7bc8e818e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/* { dg-do compile } */

typedef char * ptr_t;
struct __jmp_buf_tag   {
};
typedef struct __jmp_buf_tag sigjmp_buf[1];
sigjmp_buf GC_jmp_buf;
int __sigsetjmp (sigjmp_buf, int);
void GC_set_and_save_fault_handler (void (*)(int));
void GC_fault_handler(int sig)
{
}
void GC_setup_temporary_fault_handler()     {
    GC_set_and_save_fault_handler(GC_fault_handler);
}
ptr_t GC_find_limit(ptr_t p)
{
  GC_setup_temporary_fault_handler();
  if (__sigsetjmp (GC_jmp_buf, 1) == 0)
    for (;;)
      ;
}