[#12763] NameError (Re: [ruby-list:29101] Re: nil.to_f) — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

24 messages 2001/04/04
[#12765] Re: NameError (Re: [ruby-list:29101] Re: nil.to_f) — "K.Kosako" <kosako@...> 2001/04/04

Yukihiro Matsumotoさんの

[#12767] Re: NameError (Re: [ruby-list:29101] Re: nil.to_f) — matz@... (Yukihiro Matsumoto) 2001/04/04

まつもと ゆきひろです

[#12787] Re: NameError (Re: [ruby-list:29101] Re: nil.to_f) — "K.Kosako" <kosako@...> 2001/04/06

Yukihiro Matsumotoさんの

[#12789] Re: NameError (Re: [ruby-list:29101] Re: nil.to_f) — matz@... (Yukihiro Matsumoto) 2001/04/06

まつもと ゆきひろです

[#12790] Re: NameError (Re: [ruby-list:29101] Re: nil.to_f) — "K.Kosako" <kosako@...> 2001/04/06

Yukihiro Matsumotoさんの

[#12792] Re: NameError (Re: [ruby-list:29101] Re: nil.to_f) — matz@... (Yukihiro Matsumoto) 2001/04/06

まつもと ゆきひろです

[#12838] Re: NameError (Re: [ruby-list:29101] Re: nil.to_f) — "K.Kosako" <kosako@...> 2001/04/10

Yukihiro Matsumotoさんの

[#12795] recursive malloc / fork deadlock / thread deadlock — "Akinori MUSHA" <knu@...>

 添付のスクリプトで、いくつかのプラットフォームで問題が発生する

43 messages 2001/04/07
[#12799] Re: recursive malloc / fork deadlock / thread deadlock — matz@... (Yukihiro Matsumoto) 2001/04/07

まつもと ゆきひろです

[#12801] Re: recursive malloc / fork deadlock / thread deadlock — nobu.nakada@... 2001/04/08

なかだです。

[#12802] Re: recursive malloc / fork deadlock / thread deadlock — matz@... (Yukihiro Matsumoto) 2001/04/09

まつもと ゆきひろです

[#12822] Re: recursive malloc / fork deadlock / thread deadlock — nobu.nakada@... 2001/04/09

なかだです。

[#12827] Re: recursive malloc / fork deadlock / thread deadlock — matz@... (Yukihiro Matsumoto) 2001/04/09

まつもと ゆきひろです

[#12836] Re: recursive malloc / fork deadlock / thread deadlock — nobu.nakada@... 2001/04/10

なかだです。

[#12840] Re: recursive malloc / fork deadlock / thread deadlock — matz@... (Yukihiro Matsumoto) 2001/04/10

まつもと ゆきひろです

[#12852] Re: recursive malloc / fork deadlock / thread deadlock — nobu.nakada@... 2001/04/10

なかだです。

[#12854] Re: recursive malloc / fork deadlock / thread deadlock — matz@... (Yukihiro Matsumoto) 2001/04/10

まつもと ゆきひろです

[#12857] Re: recursive malloc / fork deadlock / thread deadlock — nobu.nakada@... 2001/04/10

なかだです。

[#12859] Re: recursive malloc / fork deadlock / thread deadlock — matz@... (Yukihiro Matsumoto) 2001/04/10

まつもと ゆきひろです

[#12862] Re: recursive malloc / fork deadlock / thread deadlock — GOTOU Yuuzou <gotoyuzo@...> 2001/04/10

ごとうゆうぞうです。

[#12866] Re: recursive malloc / fork deadlock / thread deadlock — matz@... (Yukihiro Matsumoto) 2001/04/10

まつもと ゆきひろです

[#12878] Re: recursive malloc / fork deadlock / thread deadlock — GOTOU Yuuzou <gotoyuzo@...> 2001/04/11

ごとうゆうぞうです。

[#12888] Re: recursive malloc / fork deadlock / thread deadlock — GOTOU Yuuzou <gotoyuzo@...> 2001/04/11

ごとうゆうぞうです。

[#12892] Re: recursive malloc / fork deadlock / thread deadlock — Takahiro Kambe <taca@...> 2001/04/12

完全に理解せずに書いています。

[#12895] Re: recursive malloc / fork deadlock / thread deadlock — Jun Adachi <adachi@...> 2001/04/12

安達@沖データと申します。

[#12898] Re: recursive malloc / fork deadlock / thread deadlock — GOTOU Yuuzou <gotoyuzo@...> 2001/04/12

ごとうゆうぞうです。

[#12830] 1.6.4 preview — "Akinori MUSHA" <knu@...>

 そろそろ FreeBSD 4.3-RELEASE 前の ports のフリーズが迫っている

23 messages 2001/04/09
[#12844] Re: 1.6.4 preview — matz@... (Yukihiro Matsumoto) 2001/04/10

まつもと ゆきひろです

[#12921] ObjectSpace.each_object(Symbol) — keiju@... (Keiju ISHITSUKA)

けいじゅ@日本ラショナルソフトウェアです.

23 messages 2001/04/13
[#12923] Re: ObjectSpace.each_object(Symbol) — matz@... (Yukihiro Matsumoto) 2001/04/13

まつもと ゆきひろです

[#12928] Re: ObjectSpace.each_object(Symbol) — Hisayasu Nakao <h-nakao@...> 2001/04/13

中尾@富士通です。

[#12929] Re: ObjectSpace.each_object(Symbol) — matz@... (Yukihiro Matsumoto) 2001/04/13

まつもと ゆきひろです

[#12934] Re: ObjectSpace.each_object(Symbol) — keiju@... (石塚圭樹) 2001/04/13

けいじゅ@日本ラショナルソフトウェアです.

[#12941] Re: ObjectSpace.each_object(Symbol) — matz@... (Yukihiro Matsumoto) 2001/04/13

まつもと ゆきひろです

[ruby-dev:12889] prototypes

From: nobu.nakada@...
Date: 2001-04-11 22:42:36 UTC
List: ruby-dev #12889
なかだです。

  RUBY_METHOD_FUNC() が ANSI C ではコンパイルエラーになります。
foo(...) というのは C++ じゃないと通りません。一方 C++ で試して
みたところ、やはり rb_define_method() あたりはほとんどすべて
RUBY_METHOD_FUNC() をかぶせないとエラーになります。

  ということで、C++ なら ...、それ以外ならなしという形でプロト
タイプを追加してみました。


Index: intern.h
===================================================================
RCS file: /cvs/ruby/src/ruby/intern.h,v
retrieving revision 1.45
diff -u -2 -p -r1.45 intern.h
--- intern.h	2001/03/28 08:43:24	1.45
+++ intern.h	2001/04/11 22:14:42
@@ -48,5 +48,5 @@ VALUE rb_ary_assoc _((VALUE, VALUE));
 VALUE rb_ary_rassoc _((VALUE, VALUE));
 VALUE rb_ary_includes _((VALUE, VALUE));
-VALUE rb_protect_inspect _((VALUE(*)(),VALUE,VALUE));
+VALUE rb_protect_inspect _((VALUE(*)(VALUE,VALUE),VALUE,VALUE));
 VALUE rb_inspecting_p _((VALUE));
 /* bignum.c */
@@ -91,11 +91,11 @@ VALUE rb_class_protected_instance_method
 VALUE rb_class_private_instance_methods _((int, VALUE*, VALUE));
 VALUE rb_obj_singleton_methods _((VALUE));
-void rb_define_method_id _((VALUE, ID, VALUE (*)(), int));
+void rb_define_method_id _((VALUE, ID, VALUE (*)(ANYARGS), int));
 void rb_frozen_class_p _((VALUE));
 void rb_undef _((VALUE, ID));
-void rb_define_protected_method _((VALUE, const char*, VALUE (*)(), int));
-void rb_define_private_method _((VALUE, const char*, VALUE (*)(), int));
-void rb_define_singleton_method _((VALUE,const char*,VALUE(*)(),int));
-void rb_define_private_method _((VALUE,const char*,VALUE(*)(),int));
+void rb_define_protected_method _((VALUE, const char*, VALUE (*)(ANYARGS), int));
+void rb_define_private_method _((VALUE, const char*, VALUE (*)(ANYARGS), int));
+void rb_define_singleton_method _((VALUE, const char*, VALUE(*)(ANYARGS), int));
+void rb_define_private_method _((VALUE, const char*, VALUE(*)(ANYARGS), int));
 VALUE rb_singleton_class _((VALUE));
 /* enum.c */
@@ -142,6 +142,6 @@ void rb_obj_call_init _((VALUE, int, VAL
 VALUE rb_class_new_instance _((int, VALUE*, VALUE));
 VALUE rb_f_lambda _((void));
-VALUE rb_protect _((VALUE (*)(), VALUE, int*));
-void rb_set_end_proc _((void (*)(), VALUE));
+VALUE rb_protect _((VALUE (*)(VALUE), VALUE, int*));
+void rb_set_end_proc _((void (*)(void), VALUE));
 void rb_mark_end_proc _((void));
 void rb_exec_end_proc _((void));
@@ -162,11 +162,11 @@ VALUE rb_thread_stop _((void));
 VALUE rb_thread_wakeup _((VALUE));
 VALUE rb_thread_run _((VALUE));
-VALUE rb_thread_create _((VALUE (*)(), void*));
+VALUE rb_thread_create _((VALUE (*)(ANYARGS), void*));
 int rb_thread_scope_shared_p _((void));
 void rb_thread_interrupt _((void));
 void rb_thread_trap_eval _((VALUE, int));
 void rb_thread_signal_raise _((char*));
-int rb_thread_select();
-void rb_thread_wait_for();
+int rb_thread_select(ANYARGS);
+void rb_thread_wait_for(ANYARGS);
 VALUE rb_thread_current _((void));
 VALUE rb_thread_main _((void));
@@ -297,5 +297,5 @@ void rb_gc_mark_trap_list _((void));
 #ifdef POSIX_SIGNAL
 #define posix_signal ruby_posix_signal
-void posix_signal _((int, void (*)()));
+void posix_signal _((int, void (*)(int)));
 #endif
 void rb_trap_exit _((void));
@@ -338,5 +338,5 @@ VALUE rb_struct_aset _((VALUE, VALUE, VA
 VALUE rb_struct_getmember _((VALUE, ID));
 /* time.c */
-VALUE rb_time_new();
+VALUE rb_time_new(ANYARGS);
 /* variable.c */
 VALUE rb_mod_name _((VALUE));
Index: node.h
===================================================================
RCS file: /cvs/ruby/src/ruby/node.h,v
retrieving revision 1.21
diff -u -2 -p -r1.21 node.h
--- node.h	2001/02/14 05:51:57	1.21
+++ node.h	2001/04/11 22:29:42
@@ -132,5 +132,5 @@ typedef struct RNode {
 	ID id;
 	VALUE value;
-	VALUE (*cfunc)();
+	VALUE (*cfunc)(ANYARGS);
 	ID *tbl;
     } u1;
@@ -343,5 +343,5 @@ NODE *rb_compile_file _((const char*, VA
 
 void rb_add_method _((VALUE, ID, NODE *, int));
-NODE *rb_node_newnode();
+NODE *rb_node_newnode(ANYARGS);
 
 struct global_entry *rb_global_entry _((ID));
Index: ruby.h
===================================================================
RCS file: /cvs/ruby/src/ruby/ruby.h,v
retrieving revision 1.44
diff -u -2 -p -r1.44 ruby.h
--- ruby.h	2001/03/28 08:43:25	1.44
+++ ruby.h	2001/04/11 22:10:24
@@ -64,4 +64,10 @@ extern "C" {
 #endif
 
+#ifdef __cplusplus
+#define ANYARGS ...
+#else
+#define ANYARGS
+#endif
+
 #ifndef NORETURN
 # define NORETURN(x) x
@@ -403,6 +409,6 @@ void xfree _((void*));
 #define MEMCMP(p1,p2,type,n) memcmp((p1), (p2), sizeof(type)*(n))
 
-void rb_glob _((char*,void(*)(),VALUE));
-void rb_iglob _((char*,void(*)(),VALUE));
+void rb_glob _((char*,void(*)(const char*,VALUE),VALUE));
+void rb_iglob _((char*,void(*)(const char*,VALUE),VALUE));
 
 VALUE rb_define_class _((const char*,VALUE));
@@ -415,14 +421,14 @@ void rb_extend_object _((VALUE,VALUE));
 
 void rb_define_variable _((const char*,VALUE*));
-void rb_define_virtual_variable _((const char*,VALUE(*)(),void(*)()));
-void rb_define_hooked_variable _((const char*,VALUE*,VALUE(*)(),void(*)()));
+void rb_define_virtual_variable _((const char*,VALUE(*)(ANYARGS),void(*)(ANYARGS)));
+void rb_define_hooked_variable _((const char*,VALUE*,VALUE(*)(ANYARGS),void(*)(ANYARGS)));
 void rb_define_readonly_variable _((const char*,VALUE*));
 void rb_define_const _((VALUE,const char*,VALUE));
 void rb_define_global_const _((const char*,VALUE));
 
-#define RUBY_METHOD_FUNC(func) ((VALUE (*)__((...)))func)
-void rb_define_method _((VALUE,const char*,VALUE(*)(),int));
-void rb_define_module_function _((VALUE,const char*,VALUE(*)(),int));
-void rb_define_global_function _((const char*,VALUE(*)(),int));
+#define RUBY_METHOD_FUNC(func) ((VALUE (*)(ANYARGS))func)
+void rb_define_method _((VALUE,const char*,VALUE(*)(ANYARGS),int));
+void rb_define_module_function _((VALUE,const char*,VALUE(*)(ANYARGS),int));
+void rb_define_global_function _((const char*,VALUE(*)(ANYARGS),int));
 
 void rb_undef_method _((VALUE,const char*));
@@ -475,9 +481,9 @@ VALUE rb_each _((VALUE));
 VALUE rb_yield _((VALUE));
 int rb_block_given_p _((void));
-VALUE rb_iterate _((VALUE(*)(),VALUE,VALUE(*)(),VALUE));
-VALUE rb_rescue _((VALUE(*)(),VALUE,VALUE(*)(),VALUE));
-VALUE rb_rescue2 __((VALUE(*)(),VALUE,VALUE(*)(),VALUE,...));
-VALUE rb_ensure _((VALUE(*)(),VALUE,VALUE(*)(),VALUE));
-VALUE rb_catch _((const char*,VALUE(*)(),VALUE));
+VALUE rb_iterate _((VALUE(*)(ANYARGS),VALUE,VALUE(*)(ANYARGS),VALUE));
+VALUE rb_rescue _((VALUE(*)(ANYARGS),VALUE,VALUE(*)(ANYARGS),VALUE));
+VALUE rb_rescue2 __((VALUE(*)(ANYARGS),VALUE,VALUE(*)(ANYARGS),VALUE,...));
+VALUE rb_ensure _((VALUE(*)(ANYARGS),VALUE,VALUE(*)(ANYARGS),VALUE));
+VALUE rb_catch _((const char*,VALUE(*)(ANYARGS),VALUE));
 NORETURN(void rb_throw _((const char*,VALUE)));
 
Index: rubyio.h
===================================================================
RCS file: /cvs/ruby/src/ruby/rubyio.h,v
retrieving revision 1.10
diff -u -2 -p -r1.10 rubyio.h
--- rubyio.h	2001/02/14 05:51:57	1.10
+++ rubyio.h	2001/04/11 22:22:38
@@ -24,5 +24,5 @@ typedef struct OpenFile {
     int lineno;			/* number of lines read */
     char *path;			/* pathname for file */
-    void (*finalize)();		/* finalize proc */
+    void (*finalize)(struct OpenFile*); /* finalize proc */
 } OpenFile;
 
Index: rubysig.h
===================================================================
RCS file: /cvs/ruby/src/ruby/rubysig.h,v
retrieving revision 1.8
diff -u -2 -p -r1.8 rubysig.h
--- rubysig.h	2001/02/17 15:17:09	1.8
+++ rubysig.h	2001/04/11 22:23:23
@@ -60,5 +60,5 @@ EXTERN int rb_prohibit_interrupt;
 #define ENABLE_INTS {rb_prohibit_interrupt--;}
 
-VALUE rb_with_disable_interrupt _((VALUE(*)(),VALUE));
+VALUE rb_with_disable_interrupt _((VALUE(*)(ANYARGS),VALUE));
 
 EXTERN rb_atomic_t rb_trap_pending;


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

In This Thread

Prev Next