xref: /kvm-unit-tests/x86/setjmp.c (revision 7db17e21adeedeba0f421f4c23f13934577f0264)
18bf2b755SAndrew Jones #include "libcflat.h"
29dde4243SPaolo Bonzini #include "setjmp.h"
39dde4243SPaolo Bonzini 
4*7db17e21SThomas Huth int main(void)
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