Actions
Bug #9710
closed__builtin_setjmp/longjmp causes SEGV with mingw
Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.2.0dev (2014-04-07 trunk 45529) [x64-mingw32]
Backport:
Description
Now __builtin_setjmp/__builtin_longjmp
are used with x64-mingw.
ruby 2.2.0dev (2014-04-07 trunk 45529) [x64-mingw32]
gcc version 4.8.2 20130712 (prerelease) (Built by MinGW-builds project)
.ext/include/x64-mingw32/ruby/config.h
#define RUBY_SETJMP(env) __builtin_setjmp((env))
#define RUBY_LONGJMP(env,val) __builtin_longjmp((env),val)
But this casues SEGV with callcc.
ruby -rcontinuation -e "callcc{|c|c.call}"
Instead using setjmpex/longjmp
seems to work fine.
#define RUBY_SETJMP(env) setjmpex((env))
#define RUBY_LONGJMP(env,val) longjmp((env),val)
Actions
Like0
Like0Like0Like0Like0Like0