diff options
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gcc.dg/torture/pr57147-3.c')
-rw-r--r-- | gcc-4.9/gcc/testsuite/gcc.dg/torture/pr57147-3.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gcc.dg/torture/pr57147-3.c b/gcc-4.9/gcc/testsuite/gcc.dg/torture/pr57147-3.c new file mode 100644 index 000000000..c64e5adb0 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/gcc.dg/torture/pr57147-3.c @@ -0,0 +1,20 @@ +/* { dg-do compile } */ + +typedef char * ptr_t; +struct __jmp_buf_tag { +}; +typedef struct __jmp_buf_tag sigjmp_buf[1]; +sigjmp_buf GC_jmp_buf; +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 (;;) + ; +} |