xref: /kvm-unit-tests/x86/setjmp.c (revision 8bf2b7550dbce4ffa9051d1ed23ff1cb608ff044)
1*8bf2b755SAndrew Jones #include "libcflat.h"
29dde4243SPaolo Bonzini #include "setjmp.h"
39dde4243SPaolo Bonzini 
49dde4243SPaolo Bonzini int main()
59dde4243SPaolo Bonzini {
69dde4243SPaolo Bonzini     volatile int i;
79dde4243SPaolo Bonzini     jmp_buf j;
89dde4243SPaolo Bonzini 
99dde4243SPaolo Bonzini     if (setjmp(j) == 0) {
109dde4243SPaolo Bonzini 	    i = 0;
119dde4243SPaolo Bonzini     }
129dde4243SPaolo Bonzini     printf("%d\n", i);
139dde4243SPaolo Bonzini     if (++i < 10) {
149dde4243SPaolo Bonzini 	    longjmp(j, 1);
159dde4243SPaolo Bonzini     }
169dde4243SPaolo Bonzini 
179dde4243SPaolo Bonzini     printf("done\n");
189dde4243SPaolo Bonzini     return 0;
199dde4243SPaolo Bonzini }
20