xref: /kvm-unit-tests/x86/setjmp.c (revision 9dde4243e6f1759280d3fed2486ae62e80c3f8c7)
1*9dde4243SPaolo Bonzini #include "stdio.h"
2*9dde4243SPaolo Bonzini #include "setjmp.h"
3*9dde4243SPaolo Bonzini 
4*9dde4243SPaolo Bonzini int main()
5*9dde4243SPaolo Bonzini {
6*9dde4243SPaolo Bonzini     volatile int i;
7*9dde4243SPaolo Bonzini     jmp_buf j;
8*9dde4243SPaolo Bonzini 
9*9dde4243SPaolo Bonzini     if (setjmp(j) == 0) {
10*9dde4243SPaolo Bonzini 	    i = 0;
11*9dde4243SPaolo Bonzini     }
12*9dde4243SPaolo Bonzini     printf("%d\n", i);
13*9dde4243SPaolo Bonzini     if (++i < 10) {
14*9dde4243SPaolo Bonzini 	    longjmp(j, 1);
15*9dde4243SPaolo Bonzini     }
16*9dde4243SPaolo Bonzini 
17*9dde4243SPaolo Bonzini     printf("done\n");
18*9dde4243SPaolo Bonzini     return 0;
19*9dde4243SPaolo Bonzini }
20