| /* { dg-do compile } */ | |
| typedef char * ptr_t; | |
| struct __jmp_buf_tag { int mask; }; | |
| 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 (;;) | |
| ; | |
| } |