ruby-changes:15506
From: shyouhei <ko1@a...>
Date: Tue, 20 Apr 2010 07:56:10 +0900 (JST)
Subject: [ruby-changes:15506] Ruby:r27408 (ruby_1_8_7): merge revision(s) 26251:
shyouhei 2010-04-20 07:54:43 +0900 (Tue, 20 Apr 2010) New Revision: 27408 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=27408 Log: merge revision(s) 26251: * ruby.h (RB_GC_GUARD_PTR): workaround for gcc optimization. [ruby-core:27402] Modified files: branches/ruby_1_8_7/ChangeLog branches/ruby_1_8_7/ruby.h branches/ruby_1_8_7/version.h Index: ruby_1_8_7/ChangeLog =================================================================== --- ruby_1_8_7/ChangeLog (revision 27407) +++ ruby_1_8_7/ChangeLog (revision 27408) @@ -1,3 +1,8 @@ +Mon Apr 19 22:43:28 2010 Nobuyoshi Nakada <nobu@r...> + + * ruby.h (RB_GC_GUARD_PTR): workaround for gcc optimization. + [ruby-core:27402] + Tue Apr 20 06:40:53 2010 Marc-Andre Lafortune <ruby-core@m...> * lib/uri/generic.rb (URI::Generic::eql): Check the class of the Index: ruby_1_8_7/version.h =================================================================== --- ruby_1_8_7/version.h (revision 27407) +++ ruby_1_8_7/version.h (revision 27408) @@ -1,15 +1,15 @@ #define RUBY_VERSION "1.8.7" -#define RUBY_RELEASE_DATE "2010-04-20" +#define RUBY_RELEASE_DATE "2010-04-19" #define RUBY_VERSION_CODE 187 -#define RUBY_RELEASE_CODE 20100420 -#define RUBY_PATCHLEVEL 252 +#define RUBY_RELEASE_CODE 20100419 +#define RUBY_PATCHLEVEL 253 #define RUBY_VERSION_MAJOR 1 #define RUBY_VERSION_MINOR 8 #define RUBY_VERSION_TEENY 7 #define RUBY_RELEASE_YEAR 2010 #define RUBY_RELEASE_MONTH 4 -#define RUBY_RELEASE_DAY 20 +#define RUBY_RELEASE_DAY 19 #ifdef RUBY_EXTERN RUBY_EXTERN const char ruby_version[]; Index: ruby_1_8_7/ruby.h =================================================================== --- ruby_1_8_7/ruby.h (revision 27407) +++ ruby_1_8_7/ruby.h (revision 27408) @@ -224,7 +224,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/