ruby-changes:14421
From: nobu <ko1@a...>
Date: Fri, 8 Jan 2010 17:05:01 +0900 (JST)
Subject: [ruby-changes:14421] Ruby:r26251 (ruby_1_8): * ruby.h (RB_GC_GUARD_PTR): workaround for gcc optimization.
nobu 2010-01-08 17:02:46 +0900 (Fri, 08 Jan 2010) New Revision: 26251 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=26251 Log: * ruby.h (RB_GC_GUARD_PTR): workaround for gcc optimization. [ruby-core:27402] Modified files: branches/ruby_1_8/ChangeLog branches/ruby_1_8/ruby.h branches/ruby_1_8/version.h Index: ruby_1_8/ChangeLog =================================================================== --- ruby_1_8/ChangeLog (revision 26250) +++ ruby_1_8/ChangeLog (revision 26251) @@ -1,3 +1,8 @@ +Fri Jan 8 17:02:45 2010 Nobuyoshi Nakada <nobu@r...> + + * ruby.h (RB_GC_GUARD_PTR): workaround for gcc optimization. + [ruby-core:27402] + Fri Jan 1 15:42:46 2010 Akinori MUSHA <knu@i...> * lib/mkmf.rb: Fix build. COUTFLAG is not yet landed on this Index: ruby_1_8/version.h =================================================================== --- ruby_1_8/version.h (revision 26250) +++ ruby_1_8/version.h (revision 26251) @@ -1,7 +1,7 @@ #define RUBY_VERSION "1.8.8" -#define RUBY_RELEASE_DATE "2010-01-01" +#define RUBY_RELEASE_DATE "2010-01-08" #define RUBY_VERSION_CODE 188 -#define RUBY_RELEASE_CODE 20100101 +#define RUBY_RELEASE_CODE 20100108 #define RUBY_PATCHLEVEL -1 #define RUBY_VERSION_MAJOR 1 @@ -9,7 +9,7 @@ #define RUBY_VERSION_TEENY 8 #define RUBY_RELEASE_YEAR 2010 #define RUBY_RELEASE_MONTH 1 -#define RUBY_RELEASE_DAY 1 +#define RUBY_RELEASE_DAY 8 #ifdef RUBY_EXTERN RUBY_EXTERN const char ruby_version[]; Index: ruby_1_8/ruby.h =================================================================== --- ruby_1_8/ruby.h (revision 26250) +++ ruby_1_8/ruby.h (revision 26251) @@ -227,7 +227,13 @@ #define TYPE(x) rb_type((VALUE)(x)) -#define RB_GC_GUARD(v) (*(volatile VALUE *)&(v)) +#ifdef __GNUC__ +#define RB_GC_GUARD_PTR(ptr) \ + __extension__ ({volatile VALUE *rb_gc_guarded_ptr = (ptr); rb_gc_guarded_ptr;}) +#else +#define RB_GC_GUARD_PTR(ptr) (volatile VALUE *)(ptr) +#endif +#define RB_GC_GUARD(v) (*RB_GC_GUARD_PTR(&(v))) void rb_check_type _((VALUE,int)); #define Check_Type(v,t) rb_check_type((VALUE)(v),t) -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/