[前][次][番号順一覧][スレッド一覧]

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/

[前][次][番号順一覧][スレッド一覧]