ruby-changes:16438
From: tarui <ko1@a...>
Date: Fri, 25 Jun 2010 01:11:24 +0900 (JST)
Subject: [ruby-changes:16438] Ruby:r28423 (trunk): * include/ruby/ruby.h (static inline rb_gc_guarded_ptr): prevent
tarui 2010-06-25 01:11:05 +0900 (Fri, 25 Jun 2010) New Revision: 28423 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=28423 Log: * include/ruby/ruby.h (static inline rb_gc_guarded_ptr): prevent RB_GC_GUARD_PTR being removed by optimization. Modified files: trunk/ChangeLog trunk/include/ruby/ruby.h Index: include/ruby/ruby.h =================================================================== --- include/ruby/ruby.h (revision 28422) +++ include/ruby/ruby.h (revision 28423) @@ -420,7 +420,13 @@ #define RB_GC_GUARD_PTR(ptr) \ __extension__ ({volatile VALUE *rb_gc_guarded_ptr = (ptr); rb_gc_guarded_ptr;}) #else +#ifdef _MSC_VER +#pragma optimize("", off) +#endif static inline volatile VALUE *rb_gc_guarded_ptr(volatile VALUE *ptr) {return ptr;} +#ifdef _MSC_VER +#pragma optimize("", on) +#endif #define RB_GC_GUARD_PTR(ptr) rb_gc_guarded_ptr(ptr) #endif #define RB_GC_GUARD(v) (*RB_GC_GUARD_PTR(&(v))) Index: ChangeLog =================================================================== --- ChangeLog (revision 28422) +++ ChangeLog (revision 28423) @@ -1,3 +1,8 @@ +Fri Jun 25 01:07:17 2010 Masaya Tarui <tarui@r...> + + * include/ruby/ruby.h (static inline rb_gc_guarded_ptr): prevent + RB_GC_GUARD_PTR being removed by optimization. + Thu Jun 24 06:22:27 2010 Tanaka Akira <akr@f...> * ext/socket/raddrinfo.c (ruby_getaddrinfo__darwin): the workaround -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/