[#30872] segv when reentering into Fiber with callcc — sheepman <sheepman@...>

こんばんは、sheepman です。

15 messages 2007/06/01
[#30899] Re: segv when reentering into Fiber with callcc — SASADA Koichi <ko1@...> 2007/06/06

 ささだです。

[#30905] Re: segv when reentering into Fiber with callcc — "Yusuke ENDOH" <mame@...> 2007/06/06

遠藤と申します。

[#30906] Re: segv when reentering into Fiber with callcc — SASADA Koichi <ko1@...> 2007/06/06

 ささだです。

[#30929] secrand.rb — "NAKAMURA, Hiroshi" <nakahiro@...>

-----BEGIN PGP SIGNED MESSAGE-----

51 messages 2007/06/08
[#30930] Re: secrand.rb — Tanaka Akira <akr@...> 2007/06/08

In article <4669066C.2080307@sarion.co.jp>,

[#30934] Re: secrand.rb — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/06/08

-----BEGIN PGP SIGNED MESSAGE-----

[#30935] Re: secrand.rb — Tanaka Akira <akr@...> 2007/06/08

In article <46694461.4060706@sarion.co.jp>,

[#30936] Re: secrand.rb — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/06/08

-----BEGIN PGP SIGNED MESSAGE-----

[#30938] Re: secrand.rb — Tanaka Akira <akr@...> 2007/06/08

In article <46697C0B.8060402@sarion.co.jp>,

[#30939] Re: secrand.rb — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/06/08

-----BEGIN PGP SIGNED MESSAGE-----

[#30940] Re: secrand.rb — Tanaka Akira <akr@...> 2007/06/08

In article <4669DAB0.4050705@sarion.co.jp>,

[#30944] Re: secrand.rb — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/06/09

-----BEGIN PGP SIGNED MESSAGE-----

[#30945] Re: secrand.rb — Tanaka Akira <akr@...> 2007/06/09

In article <466AA73C.9030407@sarion.co.jp>,

[#30946] Re: secrand.rb — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/06/09

-----BEGIN PGP SIGNED MESSAGE-----

[#30950] Re: secrand.rb — Nobuyoshi Nakada <nobu@...> 2007/06/11

なかだです。

[#31173] Re: Random — Tanaka Akira <akr@...> 2007/07/10

In article <469253E9.9010203@sarion.co.jp>,

[#31174] Re: Random — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/07/10

-----BEGIN PGP SIGNED MESSAGE-----

[#31178] Re: Random — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/07/11

-----BEGIN PGP SIGNED MESSAGE-----

[#31179] Re: Random — Tanaka Akira <akr@...> 2007/07/11

In article <4694338C.7090303@sarion.co.jp>,

[#31183] Re: Random — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/07/11

-----BEGIN PGP SIGNED MESSAGE-----

[#30971] Linux/ia64で'ucontext_t' undeclared — akira yamada / やまだあきら <akira@...>

最近のRuby 1.9をLinux/ia64上でmakeしようとすると

16 messages 2007/06/13
[#30973] Re: Linux/ia64で'ucontext_t' undeclared — Yukihiro Matsumoto <matz@...> 2007/06/13

まつもと ゆきひろです

[#30974] Re: Linux/ia64で'ucontext_t' undeclared — akira@... 2007/06/13

Yukihiro Matsumoto さんは書きました:

[#30975] Re: Linux/ia64で'ucontext_t' undeclared — Yukihiro Matsumoto <matz@...> 2007/06/13

まつもと ゆきひろです

[ruby-dev:31066] consts for gdb support

From: Nobuyoshi Nakada <nobu@...>
Date: 2007-06-27 07:30:06 UTC
List: ruby-dev #31066
なかだです。

プリプロセッサのマクロは-g3をつけないとgdbから見えないので、
enumで定義するというのはどうでしょうか。以前試したことがあった
のですが、どうやら(田中さんによると)「変数を定義しておく」とい
うのが鍵のようです。


Index: include/ruby/node.h
===================================================================
--- include/ruby/node.h	(revision 12632)
+++ include/ruby/node.h	(working copy)
@@ -23,114 +23,225 @@ extern "C" {
 enum node_type {
     NODE_METHOD,
+#define NODE_METHOD      NODE_METHOD
     NODE_FBODY,
+#define NODE_FBODY       NODE_FBODY
     NODE_CFUNC,
+#define NODE_CFUNC       NODE_CFUNC
     NODE_SCOPE,
+#define NODE_SCOPE       NODE_SCOPE
     NODE_BLOCK,
+#define NODE_BLOCK       NODE_BLOCK
     NODE_IF,
+#define NODE_IF          NODE_IF
     NODE_CASE,
+#define NODE_CASE        NODE_CASE
     NODE_WHEN,
+#define NODE_WHEN        NODE_WHEN
     NODE_OPT_N,
+#define NODE_OPT_N       NODE_OPT_N
     NODE_WHILE,
+#define NODE_WHILE       NODE_WHILE
     NODE_UNTIL,
+#define NODE_UNTIL       NODE_UNTIL
     NODE_ITER,
+#define NODE_ITER        NODE_ITER
     NODE_FOR,
+#define NODE_FOR         NODE_FOR
     NODE_BREAK,
+#define NODE_BREAK       NODE_BREAK
     NODE_NEXT,
+#define NODE_NEXT        NODE_NEXT
     NODE_REDO,
+#define NODE_REDO        NODE_REDO
     NODE_RETRY,
+#define NODE_RETRY       NODE_RETRY
     NODE_BEGIN,
+#define NODE_BEGIN       NODE_BEGIN
     NODE_RESCUE,
+#define NODE_RESCUE      NODE_RESCUE
     NODE_RESBODY,
+#define NODE_RESBODY     NODE_RESBODY
     NODE_ENSURE,
+#define NODE_ENSURE      NODE_ENSURE
     NODE_AND,
+#define NODE_AND         NODE_AND
     NODE_OR,
+#define NODE_OR          NODE_OR
     NODE_NOT,
+#define NODE_NOT         NODE_NOT
     NODE_MASGN,
+#define NODE_MASGN       NODE_MASGN
     NODE_LASGN,
+#define NODE_LASGN       NODE_LASGN
     NODE_DASGN,
+#define NODE_DASGN       NODE_DASGN
     NODE_DASGN_CURR,
+#define NODE_DASGN_CURR  NODE_DASGN_CURR
     NODE_GASGN,
+#define NODE_GASGN       NODE_GASGN
     NODE_IASGN,
+#define NODE_IASGN       NODE_IASGN
     NODE_IASGN2,
+#define NODE_IASGN2      NODE_IASGN2
     NODE_CDECL,
+#define NODE_CDECL       NODE_CDECL
     NODE_CVASGN,
+#define NODE_CVASGN      NODE_CVASGN
     NODE_CVDECL,
+#define NODE_CVDECL      NODE_CVDECL
     NODE_OP_ASGN1,
+#define NODE_OP_ASGN1    NODE_OP_ASGN1
     NODE_OP_ASGN2,
+#define NODE_OP_ASGN2    NODE_OP_ASGN2
     NODE_OP_ASGN_AND,
+#define NODE_OP_ASGN_AND NODE_OP_ASGN_AND
     NODE_OP_ASGN_OR,
+#define NODE_OP_ASGN_OR  NODE_OP_ASGN_OR
     NODE_CALL,
+#define NODE_CALL        NODE_CALL
     NODE_FCALL,
+#define NODE_FCALL       NODE_FCALL
     NODE_VCALL,
+#define NODE_VCALL       NODE_VCALL
     NODE_SUPER,
+#define NODE_SUPER       NODE_SUPER
     NODE_ZSUPER,
+#define NODE_ZSUPER      NODE_ZSUPER
     NODE_ARRAY,
+#define NODE_ARRAY       NODE_ARRAY
     NODE_ZARRAY,
+#define NODE_ZARRAY      NODE_ZARRAY
     NODE_VALUES,
+#define NODE_VALUES      NODE_VALUES
     NODE_HASH,
+#define NODE_HASH        NODE_HASH
     NODE_RETURN,
+#define NODE_RETURN      NODE_RETURN
     NODE_YIELD,
+#define NODE_YIELD       NODE_YIELD
     NODE_LVAR,
+#define NODE_LVAR        NODE_LVAR
     NODE_DVAR,
+#define NODE_DVAR        NODE_DVAR
     NODE_GVAR,
+#define NODE_GVAR        NODE_GVAR
     NODE_IVAR,
+#define NODE_IVAR        NODE_IVAR
     NODE_CONST,
+#define NODE_CONST       NODE_CONST
     NODE_CVAR,
+#define NODE_CVAR        NODE_CVAR
     NODE_NTH_REF,
+#define NODE_NTH_REF     NODE_NTH_REF
     NODE_BACK_REF,
+#define NODE_BACK_REF    NODE_BACK_REF
     NODE_MATCH,
+#define NODE_MATCH       NODE_MATCH
     NODE_MATCH2,
+#define NODE_MATCH2      NODE_MATCH2
     NODE_MATCH3,
+#define NODE_MATCH3      NODE_MATCH3
     NODE_LIT,
+#define NODE_LIT         NODE_LIT
     NODE_STR,
+#define NODE_STR         NODE_STR
     NODE_DSTR,
+#define NODE_DSTR        NODE_DSTR
     NODE_XSTR,
+#define NODE_XSTR        NODE_XSTR
     NODE_DXSTR,
+#define NODE_DXSTR       NODE_DXSTR
     NODE_EVSTR,
+#define NODE_EVSTR       NODE_EVSTR
     NODE_DREGX,
+#define NODE_DREGX       NODE_DREGX
     NODE_DREGX_ONCE,
+#define NODE_DREGX_ONCE  NODE_DREGX_ONCE
     NODE_ARGS,
+#define NODE_ARGS        NODE_ARGS
     NODE_ARGS_AUX,
+#define NODE_ARGS_AUX    NODE_ARGS_AUX
     NODE_OPT_ARG,
+#define NODE_OPT_ARG     NODE_OPT_ARG
     NODE_POSTARG,
+#define NODE_POSTARG     NODE_POSTARG
     NODE_ARGSCAT,
+#define NODE_ARGSCAT     NODE_ARGSCAT
     NODE_ARGSPUSH,
+#define NODE_ARGSPUSH    NODE_ARGSPUSH
     NODE_SPLAT,
+#define NODE_SPLAT       NODE_SPLAT
     NODE_TO_ARY,
+#define NODE_TO_ARY      NODE_TO_ARY
     NODE_BLOCK_ARG,
+#define NODE_BLOCK_ARG   NODE_BLOCK_ARG
     NODE_BLOCK_PASS,
+#define NODE_BLOCK_PASS  NODE_BLOCK_PASS
     NODE_DEFN,
+#define NODE_DEFN        NODE_DEFN
     NODE_DEFS,
+#define NODE_DEFS        NODE_DEFS
     NODE_ALIAS,
+#define NODE_ALIAS       NODE_ALIAS
     NODE_VALIAS,
+#define NODE_VALIAS      NODE_VALIAS
     NODE_UNDEF,
+#define NODE_UNDEF       NODE_UNDEF
     NODE_CLASS,
+#define NODE_CLASS       NODE_CLASS
     NODE_MODULE,
+#define NODE_MODULE      NODE_MODULE
     NODE_SCLASS,
+#define NODE_SCLASS      NODE_SCLASS
     NODE_COLON2,
+#define NODE_COLON2      NODE_COLON2
     NODE_COLON3,
+#define NODE_COLON3      NODE_COLON3
     NODE_CREF,
+#define NODE_CREF        NODE_CREF
     NODE_DOT2,
+#define NODE_DOT2        NODE_DOT2
     NODE_DOT3,
+#define NODE_DOT3        NODE_DOT3
     NODE_FLIP2,
+#define NODE_FLIP2       NODE_FLIP2
     NODE_FLIP3,
+#define NODE_FLIP3       NODE_FLIP3
     NODE_ATTRSET,
+#define NODE_ATTRSET     NODE_ATTRSET
     NODE_SELF,
+#define NODE_SELF        NODE_SELF
     NODE_NIL,
+#define NODE_NIL         NODE_NIL
     NODE_TRUE,
+#define NODE_TRUE        NODE_TRUE
     NODE_FALSE,
+#define NODE_FALSE       NODE_FALSE
     NODE_ERRINFO,
+#define NODE_ERRINFO     NODE_ERRINFO
     NODE_DEFINED,
+#define NODE_DEFINED     NODE_DEFINED
     NODE_POSTEXE,
+#define NODE_POSTEXE     NODE_POSTEXE
     NODE_ALLOCA,
+#define NODE_ALLOCA      NODE_ALLOCA
     NODE_BMETHOD,
+#define NODE_BMETHOD     NODE_BMETHOD
     NODE_MEMO,
+#define NODE_MEMO        NODE_MEMO
     NODE_IFUNC,
+#define NODE_IFUNC       NODE_IFUNC
     NODE_DSYM,
+#define NODE_DSYM        NODE_DSYM
     NODE_ATTRASGN,
+#define NODE_ATTRASGN    NODE_ATTRASGN
     NODE_PRELUDE,
+#define NODE_PRELUDE     NODE_PRELUDE
     NODE_LAMBDA,
+#define NODE_LAMBDA      NODE_LAMBDA
     NODE_OPTBLOCK,
+#define NODE_OPTBLOCK    NODE_OPTBLOCK
     NODE_LAST
+#define NODE_LAST        NODE_LAST
 };
 
@@ -163,9 +274,19 @@ typedef struct RNode {
 #define RNODE(obj)  (R_CAST(RNode)(obj))
 
-/* 0..4:T_TYPES, 5:FL_MARK, 6:reserved, 7:NODE_NEWLINE */
-#define NODE_NEWLINE (1<<7)
 
-#define NODE_TYPESHIFT 8
-#define NODE_TYPEMASK  (0x7f<<NODE_TYPESHIFT)
+/* 0..4:T_TYPES, 5:FL_MARK, 6:reserved, 7:NODE_NEWLINE */
+enum ruby_node_flags {
+    NODE_NEWLINE       = (1<<7),
+#define NODE_NEWLINE NODE_NEWLINE
+
+    NODE_TYPESHIFT     = 8,
+#define NODE_TYPESHIFT NODE_TYPESHIFT
+    NODE_TYPEMASK      = (0x7f<<NODE_TYPESHIFT),
+#define NODE_TYPEMASK  NODE_TYPEMASK
+    NODE_LSHIFT        = (NODE_TYPESHIFT+7),
+#define NODE_LSHIFT    NODE_LSHIFT
+    NODE_LMASK         = (((SIGNED_VALUE)1<<(sizeof(VALUE)*CHAR_BIT-NODE_LSHIFT))-1),
+#define NODE_LMASK     NODE_LMASK
+};
 
 #define nd_type(n) ((int) (((RNODE(n))->flags & NODE_TYPEMASK)>>NODE_TYPESHIFT))
@@ -173,6 +294,4 @@ typedef struct RNode {
     RNODE(n)->flags=((RNODE(n)->flags&~NODE_TYPEMASK)|(((t)<<NODE_TYPESHIFT)&NODE_TYPEMASK))
 
-#define NODE_LSHIFT (NODE_TYPESHIFT+7)
-#define NODE_LMASK  (((SIGNED_VALUE)1<<(sizeof(NODE*)*CHAR_BIT-NODE_LSHIFT))-1)
 #define nd_line(n) ((VALUE)(((RNODE(n))->flags>>NODE_LSHIFT)&NODE_LMASK))
 #define nd_set_line(n,l) \
Index: include/ruby/ruby.h
===================================================================
--- include/ruby/ruby.h	(revision 12632)
+++ include/ruby/ruby.h	(working copy)
@@ -155,5 +155,4 @@ typedef unsigned LONG_LONG ID;
 #define FIXNUM_MIN RSHIFT((long)LONG_MIN,1)
 
-#define FIXNUM_FLAG 0x01
 #define INT2FIX(i) ((VALUE)(((SIGNED_VALUE)(i))<<1 | FIXNUM_FLAG))
 #define LONG2FIX(i) INT2FIX(i)
@@ -209,8 +208,6 @@ VALUE rb_ull2inum(unsigned LONG_LONG);
 #define FIXABLE(f) (POSFIXABLE(f) && NEGFIXABLE(f))
 
-#define IMMEDIATE_MASK 0x03
 #define IMMEDIATE_P(x) ((VALUE)(x) & IMMEDIATE_MASK)
 
-#define SYMBOL_FLAG 0x0e
 #define SYMBOL_P(x) (((VALUE)(x)&0xff)==SYMBOL_FLAG)
 #define ID2SYM(x) ((VALUE)(((long)(x))<<8|SYMBOL_FLAG))
@@ -218,8 +215,22 @@ VALUE rb_ull2inum(unsigned LONG_LONG);
 
 /* special contants - i.e. non-zero and non-fixnum constants */
-#define Qfalse ((VALUE)0)
-#define Qtrue  ((VALUE)2)
-#define Qnil   ((VALUE)4)
-#define Qundef ((VALUE)6)	/* undefined value for placeholder */
+enum ruby_special_consts {
+    RUBY_Qfalse = 0,
+    RUBY_Qtrue  = 2,
+    RUBY_Qnil   = 4,
+    RUBY_Qundef = 6,
+
+    RUBY_IMMEDIATE_MASK = 0x03,
+    RUBY_FIXNUM_FLAG    = 0x01,
+    RUBY_SYMBOL_FLAG    = 0x0e,
+};
+
+#define Qfalse ((VALUE)RUBY_Qfalse)
+#define Qtrue  ((VALUE)RUBY_Qtrue)
+#define Qnil   ((VALUE)RUBY_Qnil)
+#define Qundef ((VALUE)RUBY_Qundef)	/* undefined value for placeholder */
+#define IMMEDIATE_MASK RUBY_IMMEDIATE_MASK
+#define FIXNUM_FLAG RUBY_FIXNUM_FLAG
+#define SYMBOL_FLAG RUBY_SYMBOL_FLAG
 
 #define RTEST(v) (((VALUE)(v) & ~Qnil) != 0)
@@ -228,33 +239,60 @@ VALUE rb_ull2inum(unsigned LONG_LONG);
 #define CLASS_OF(v) rb_class_of((VALUE)(v))
 
-#define T_NONE   0x00
+enum ruby_value_type {
+    RUBY_T_NONE   = 0x00,
+#define T_NONE   RUBY_T_NONE
+
+    RUBY_T_NIL    = 0x01,
+#define T_NIL    RUBY_T_NIL
+    RUBY_T_OBJECT = 0x02,
+#define T_OBJECT RUBY_T_OBJECT
+    RUBY_T_CLASS  = 0x03,
+#define T_CLASS  RUBY_T_CLASS
+    RUBY_T_ICLASS = 0x04,
+#define T_ICLASS RUBY_T_ICLASS
+    RUBY_T_MODULE = 0x05,
+#define T_MODULE RUBY_T_MODULE
+    RUBY_T_FLOAT  = 0x06,
+#define T_FLOAT  RUBY_T_FLOAT
+    RUBY_T_STRING = 0x07,
+#define T_STRING RUBY_T_STRING
+    RUBY_T_REGEXP = 0x08,
+#define T_REGEXP RUBY_T_REGEXP
+    RUBY_T_ARRAY  = 0x09,
+#define T_ARRAY  RUBY_T_ARRAY
+    RUBY_T_FIXNUM = 0x0a,
+#define T_FIXNUM RUBY_T_FIXNUM
+    RUBY_T_HASH   = 0x0b,
+#define T_HASH   RUBY_T_HASH
+    RUBY_T_STRUCT = 0x0c,
+#define T_STRUCT RUBY_T_STRUCT
+    RUBY_T_BIGNUM = 0x0d,
+#define T_BIGNUM RUBY_T_BIGNUM
+    RUBY_T_FILE   = 0x0e,
+#define T_FILE   RUBY_T_FILE
+
+    RUBY_T_TRUE   = 0x10,
+#define T_TRUE   RUBY_T_TRUE
+    RUBY_T_FALSE  = 0x11,
+#define T_FALSE  RUBY_T_FALSE
+    RUBY_T_DATA   = 0x12,
+#define T_DATA   RUBY_T_DATA
+    RUBY_T_MATCH  = 0x13,
+#define T_MATCH  RUBY_T_MATCH
+    RUBY_T_SYMBOL = 0x14,
+#define T_SYMBOL RUBY_T_SYMBOL
+
+    RUBY_T_VALUES = 0x1a,
+#define T_VALUES RUBY_T_VALUES
+    RUBY_T_BLOCK  = 0x1b,
+#define T_BLOCK  RUBY_T_BLOCK
+    RUBY_T_UNDEF  = 0x1c,
+#define T_UNDEF  RUBY_T_UNDEF
+    RUBY_T_NODE   = 0x1f,
+#define T_NODE   RUBY_T_NODE
 
-#define T_NIL    0x01
-#define T_OBJECT 0x02
-#define T_CLASS  0x03
-#define T_ICLASS 0x04
-#define T_MODULE 0x05
-#define T_FLOAT  0x06
-#define T_STRING 0x07
-#define T_REGEXP 0x08
-#define T_ARRAY  0x09
-#define T_FIXNUM 0x0a
-#define T_HASH   0x0b
-#define T_STRUCT 0x0c
-#define T_BIGNUM 0x0d
-#define T_FILE   0x0e
-
-#define T_TRUE   0x10
-#define T_FALSE  0x11
-#define T_DATA   0x12
-#define T_MATCH  0x13
-#define T_SYMBOL 0x14
-
-#define T_VALUES 0x1a
-#define T_BLOCK  0x1b
-#define T_UNDEF  0x1c
-#define T_NODE   0x1f
-
-#define T_MASK   0x1f
+    RUBY_T_MASK   = 0x1f,
+#define T_MASK   RUBY_T_MASK
+};
 
 #define BUILTIN_TYPE(x) (((struct RBasic*)(x))->flags & T_MASK)
@@ -523,22 +561,40 @@ struct RBignum {
 #define RVALUES(obj) (R_CAST(RValues)(obj))
 
-#define FL_SINGLETON FL_USER0
-#define FL_MARK      (1<<5)
-#define FL_RESERVED  (1<<6)	/* will be used in the future GC */
-#define FL_FINALIZE  (1<<7)
-#define FL_TAINT     (1<<8)
-#define FL_EXIVAR    (1<<9)
-#define FL_FREEZE    (1<<10)
-
-#define FL_USHIFT    11
-
-#define FL_USER0     (1<<(FL_USHIFT+0))
-#define FL_USER1     (1<<(FL_USHIFT+1))
-#define FL_USER2     (1<<(FL_USHIFT+2))
-#define FL_USER3     (1<<(FL_USHIFT+3))
-#define FL_USER4     (1<<(FL_USHIFT+4))
-#define FL_USER5     (1<<(FL_USHIFT+5))
-#define FL_USER6     (1<<(FL_USHIFT+6))
-#define FL_USER7     (1<<(FL_USHIFT+7))
+enum ruby_value_flags {
+    RUBY_FL_MARK      = (1<<5),
+#define FL_MARK      RUBY_FL_MARK
+    RUBY_FL_RESERVED  = (1<<6)	/* will be used in the future GC */,
+#define FL_RESERVED  RUBY_FL_RESERVED
+    RUBY_FL_FINALIZE  = (1<<7),
+#define FL_FINALIZE  RUBY_FL_FINALIZE
+    RUBY_FL_TAINT     = (1<<8),
+#define FL_TAINT     RUBY_FL_TAINT
+    RUBY_FL_EXIVAR    = (1<<9),
+#define FL_EXIVAR    RUBY_FL_EXIVAR
+    RUBY_FL_FREEZE    = (1<<10),
+#define FL_FREEZE    RUBY_FL_FREEZE
+    RUBY_FL_SINGLETON = (1<<11),
+#define FL_SINGLETON RUBY_FL_SINGLETON
+
+    RUBY_FL_USHIFT    = 11,
+#define FL_USHIFT    RUBY_FL_USHIFT
+
+    RUBY_FL_USER0     = (1<<(FL_USHIFT+0)),
+#define FL_USER0     RUBY_FL_USER0
+    RUBY_FL_USER1     = (1<<(FL_USHIFT+1)),
+#define FL_USER1     RUBY_FL_USER1
+    RUBY_FL_USER2     = (1<<(FL_USHIFT+2)),
+#define FL_USER2     RUBY_FL_USER2
+    RUBY_FL_USER3     = (1<<(FL_USHIFT+3)),
+#define FL_USER3     RUBY_FL_USER3
+    RUBY_FL_USER4     = (1<<(FL_USHIFT+4)),
+#define FL_USER4     RUBY_FL_USER4
+    RUBY_FL_USER5     = (1<<(FL_USHIFT+5)),
+#define FL_USER5     RUBY_FL_USER5
+    RUBY_FL_USER6     = (1<<(FL_USHIFT+6)),
+#define FL_USER6     RUBY_FL_USER6
+    RUBY_FL_USER7     = (1<<(FL_USHIFT+7)),
+#define FL_USER7     RUBY_FL_USER7
+};
 
 #define SPECIAL_CONST_P(x) (IMMEDIATE_P(x) || !RTEST(x))
Index: ruby.c
===================================================================
--- ruby.c	(revision 12632)
+++ ruby.c	(working copy)
@@ -43,4 +43,13 @@
 #include "ruby/util.h"
 
+/* for gdb */
+static const union {
+    enum ruby_special_consts	special_consts;
+    enum ruby_value_type	value_type;
+    enum ruby_value_flags	value_flags;
+    enum node_type		node_type;
+    enum ruby_node_flags	node_flags;
+} dummy_gdb_enums;
+
 #ifndef HAVE_STDLIB_H
 char *getenv();


-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦

In This Thread

Prev Next