# HG changeset patch # User Kaito Tokumori # Date 1385877558 -32400 # Node ID c49bf9e28ea83b4556740d43ba4d5d6e6ba6172f # Parent 509523ee1e274a58de30c671ae5738f548a51c4d remove jmp_buf (replaced by integer array) diff -r 509523ee1e27 -r c49bf9e28ea8 struct_longjump.c --- a/struct_longjump.c Sun Nov 24 01:10:16 2013 +0900 +++ b/struct_longjump.c Sun Dec 01 14:59:18 2013 +0900 @@ -13,16 +13,16 @@ __code return1 (int n,void* env){ printf("return1 : __return entry\n"); *(int*)((struct CbC_env *)(env))->ret_p = n; - longjmp(*(jmp_buf*)(((struct CbC_env *)env)->env),1); + longjmp((int*)(((struct CbC_env *)env)->env),1); } int main1 (){ __code (*__return)(); struct CbC_env __environment; - jmp_buf j_buf; + int i_buf[128]; int retval; __environment.ret_p = &retval; - __environment.env = &j_buf; + __environment.env = &i_buf; printf("main1 : main1 entry\n"); if (setjmp(__environment.env)){ printf("main1 : main1 return\n");