# HG changeset patch # User Kaito Tokumori # Date 1455448063 -32400 # Node ID bea98599d11fedc4c363187c15e38c536370018a # Parent 57b390dce7df3cc12861e2557ffad5e47048d92b fix typo diff -r 57b390dce7df -r bea98599d11f slide/blank.html --- a/slide/blank.html Sun Feb 14 19:07:10 2016 +0900 +++ b/slide/blank.html Sun Feb 14 20:07:43 2016 +0900 @@ -417,7 +417,7 @@ } int funcB(){ - goto cs(__ret, __env); + goto cs(__return, __environment); /* never reached */ return -1; } @@ -443,10 +443,10 @@
-

環境付き継続実装の問題

+

LLVM Clang 上での環境付き継続実装の問題

@@ -480,7 +480,7 @@
-#include +#include <setjmp.h> struct CbC_env { void *ret_p,*env; @@ -490,7 +490,7 @@ goto ret(n, env); } -__code func..ret (int retval, void* env){ +__code func..ret0 (int retval, void* env){ *(int*)((struct CbC_env *)(env))->ret_p = retcal; __builtin_longjmp((int*)(((struct CbC_env *)env)->env),1); } @@ -502,7 +502,7 @@ int retval; __environment.ret_p = &retval; __environment.env = &env; - __return = func..ret; + __return = func..ret0; if (__builtin_setjmp(__environment.env)){ return retval; }