| /* Check that setjmp and longjmp stand a chance to work; that the used machine | |
| primitives work in the simulator. */ | |
| #include <stdio.h> | |
| #include <setjmp.h> | |
| #include <stdlib.h> | |
| extern void f (void); | |
| int ok = 0; | |
| jmp_buf b; | |
| int | |
| main () | |
| { | |
| int ret = setjmp (b); | |
| if (ret == 42) | |
| ok = 100; | |
| else if (ret == 0) | |
| f (); | |
| if (ok == 100) | |
| printf ("pass\n"); | |
| else | |
| printf ("fail\n"); | |
| exit (0); | |
| } | |
| void | |
| f (void) | |
| { | |
| longjmp (b, 42); | |
| } |