1 /* { dg-do compile } */ 2 3 typedef char * ptr_t; 4 struct __jmp_buf_tag { 5 }; 6 typedef struct __jmp_buf_tag sigjmp_buf[1]; 7 sigjmp_buf GC_jmp_buf; 8 int __sigsetjmp (sigjmp_buf, int); 9 void GC_set_and_save_fault_handler (void (*)(int)); GC_fault_handler(int sig)10void GC_fault_handler(int sig) 11 { 12 } GC_setup_temporary_fault_handler()13void GC_setup_temporary_fault_handler() { 14 GC_set_and_save_fault_handler(GC_fault_handler); 15 } GC_find_limit(ptr_t p)16ptr_t GC_find_limit(ptr_t p) 17 { 18 GC_setup_temporary_fault_handler(); 19 if (__sigsetjmp (GC_jmp_buf, 1) == 0) 20 for (;;) 21 ; 22 } 23