* README.EXT.ja, dir.c, eval.c, eval_intern.h, lex.c.src,

lex.c.blt, keywords, load.c, thread.c: more ANSI'ize.
  a patch from Tadashi Saito <shiba AT mail2.accsnet.ne.jp>
  in [ruby-dev:32725]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14655 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
matz 2007-12-25 04:17:06 +00:00
Родитель 5f0b8afb97
Коммит 3410fd6812
10 изменённых файлов: 52 добавлений и 47 удалений

Просмотреть файл

@ -1,3 +1,10 @@
Tue Dec 25 13:13:09 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
* README.EXT.ja, dir.c, eval.c, eval_intern.h, lex.c.src,
lex.c.blt, keywords, load.c, thread.c: more ANSI'ize.
a patch from Tadashi Saito <shiba AT mail2.accsnet.ne.jp>
in [ruby-dev:32725]
Tue Dec 25 13:07:56 2007 Koichi Sasada <ko1@atdot.net> Tue Dec 25 13:07:56 2007 Koichi Sasada <ko1@atdot.net>
* vm_core.h, thread.c, cont.c: add RUBY_VM_SET_INTERRUPT(), * vm_core.h, thread.c, cont.c: add RUBY_VM_SET_INTERRUPT(),

Просмотреть файл

@ -107,16 +107,16 @@ FIXNUM
発生する)同様にチェック無しで使える変換マクロはdoubleを 発生する)同様にチェック無しで使える変換マクロはdoubleを
取り出す「NUM2DBL()」があります。 取り出す「NUM2DBL()」があります。
char* を取り出す場合、version 1.6 以前では「STR2CSTR()」と char* を取り出す場合、version 1.6 以前では「STR2CSTR()」と
うマクロを使っていましたが、これは to_str() による暗黙の うマクロを使っていましたが、これは to_str() による暗黙の型変
型変換結果が GC される可能性があるため、version 1.7 以降では 換結果が GC される可能性があるため、version 1.7 以降では
obsolete となり、代わりに StringValue() と StringValuePtr() obsolete となり、代わりに StringValue() と StringValuePtr()
を使う事を推奨しています。StringValue(var) は var が String を使う事を推奨しています。StringValue(var) は var が String
であれば何もせず、そうでなければ var を var.to_str() の結果 であれば何もせず、そうでなければ var を var.to_str() の結果
置き換えるマクロ、StringValuePtr(var) は同様に var を置き換え 置き換えるマクロ、StringValuePtr(var) は同様に var を置き
てから var の文字列表現に対する char* を返すマクロです。var の 換えてから var の文字列表現に対する char* を返すマクロです。
内容を直接置き換える処理が入るので、var は lvalue である必要が var の内容を直接置き換える処理が入るので、var は lvalue であ
あります。 る必要があります。
それ以外のデータタイプは対応するCの構造体があります対応す それ以外のデータタイプは対応するCの構造体があります対応す
る構造体のあるVALUEはそのままキャスト(型変換)すれば構造体の る構造体のあるVALUEはそのままキャスト(型変換)すれば構造体の
@ -576,7 +576,8 @@ Ruby
定義を行いますdbm.cから一部引用します 定義を行いますdbm.cから一部引用します
-- --
Init_dbm() void
Init_dbm(void)
{ {
/* DBMクラスを定義する */ /* DBMクラスを定義する */
cDBM = rb_define_class("DBM", rb_cObject); cDBM = rb_define_class("DBM", rb_cObject);
@ -638,8 +639,7 @@ fdbm_delete()
-- --
static VALUE static VALUE
fdbm_delete(obj, keystr) fdbm_delete(VALUE obj, VALUE keystr)
VALUE obj, keystr;
{ {
: :
} }
@ -655,10 +655,7 @@ fdbm_delete(obj, keystr)
-- --
static VALUE static VALUE
fdbm_s_open(argc, argv, klass) fdbm_s_open(int argc, VALUE *argv, VALUE klass)
int argc;
VALUE *argv;
VALUE klass;
{ {
: :
if (rb_scan_args(argc, argv, "11", &file, &vmode) == 1) { if (rb_scan_args(argc, argv, "11", &file, &vmode) == 1) {
@ -687,8 +684,7 @@ Ruby
-- --
static VALUE static VALUE
fdbm_indexes(obj, args) fdbm_indexes(VALUE obj, VALUE args)
VALUE obj, args;
{ {
: :
} }
@ -1049,8 +1045,8 @@ char *rb_id2name(ID id)
char *rb_class2name(VALUE klass) char *rb_class2name(VALUE klass)
クラスの名前を返す(デバッグ用).クラスが名前を持たない時には, クラスの名前を返す(デバッグ用).クラスが名前を持たない時に
祖先を遡って名前を持つクラスの名前を返す. は, 祖先を遡って名前を持つクラスの名前を返す.
int rb_respond_to(VALUE obj, ID id) int rb_respond_to(VALUE obj, ID id)
@ -1193,10 +1189,10 @@ find_library(lib, func, path...)
have_func(func, header) have_func(func, header)
ヘッダファイルheaderをインクルードして関数funcの存在をチェ ヘッダファイルheaderをインクルードして関数funcの存在をチェ
クするfuncが標準ではリンクされないライブラリ内のもので クするfuncが標準ではリンクされないライブラリ内のもので
る時には先にhave_libraryでそのライブラリをチェックしてお る時には先にhave_libraryでそのライブラリをチェックしてお
関数が存在する時trueを返す 関数が存在する時trueを返す
have_var(var, header) have_var(var, header)
@ -1247,7 +1243,8 @@ find_executable(command, path)
with_config(withval[, default=nil]) with_config(withval[, default=nil])
コマンドライン上の--with-<withval>で指定されたオプション値を得る. コマンドライン上の--with-<withval>で指定されたオプション値
を得る.
enable_config(config, *defaults) enable_config(config, *defaults)
disable_config(config, *defaults) disable_config(config, *defaults)
@ -1256,8 +1253,9 @@ disable_config(config, *defaults)
--disable-<config>で指定された真偽値を得る. --disable-<config>で指定された真偽値を得る.
--enable-<config>が指定されていた場合はtrue --enable-<config>が指定されていた場合はtrue
--disable-<config>が指定されていた場合はfalseを返す --disable-<config>が指定されていた場合はfalseを返す
どちらも指定されていない場合は,ブロックつきで呼び出されている場合は どちらも指定されていない場合は,ブロックつきで呼び出されて
*defaultsをyieldした結果ブロックなしなら*defaultsを返す いる場合は*defaultsをyieldした結果ブロックなしなら
*defaultsを返す
dir_config(target[, default_dir]) dir_config(target[, default_dir])
dir_config(target[, default_include, default_lib]) dir_config(target[, default_include, default_lib])
@ -1266,8 +1264,8 @@ dir_config(target[, default_include, default_lib])
--with-<target>-libのいずれかで指定されるディレクトリを --with-<target>-libのいずれかで指定されるディレクトリを
$CFLAGS や $LDFLAGS に追加する.--with-<target>-dir=/pathは $CFLAGS や $LDFLAGS に追加する.--with-<target>-dir=/pathは
--with-<target>-include=/path/include --with-<target>-lib=/path/lib --with-<target>-include=/path/include --with-<target>-lib=/path/lib
と等価である.追加された include ディレクトリと lib ディレクトリの と等価である.追加された include ディレクトリと lib ディレ
配列を返す. ([include_dir, lib_dir]) クトリの配列を返す. ([include_dir, lib_dir])
pkg_config(pkg) pkg_config(pkg)

2
dir.c
Просмотреть файл

@ -922,7 +922,7 @@ sys_warning_1(const char* mesg)
#define GLOB_VERBOSE (1UL << (sizeof(int) * CHAR_BIT - 1)) #define GLOB_VERBOSE (1UL << (sizeof(int) * CHAR_BIT - 1))
#define sys_warning(val) \ #define sys_warning(val) \
(void)((flags & GLOB_VERBOSE) && rb_protect((VALUE (*)_((VALUE)))sys_warning_1, (VALUE)(val), 0)) (void)((flags & GLOB_VERBOSE) && rb_protect((VALUE (*)(VALUE))sys_warning_1, (VALUE)(val), 0))
#define GLOB_ALLOC(type) (type *)malloc(sizeof(type)) #define GLOB_ALLOC(type) (type *)malloc(sizeof(type))
#define GLOB_ALLOC_N(type, n) (type *)malloc(sizeof(type) * (n)) #define GLOB_ALLOC_N(type, n) (type *)malloc(sizeof(type) * (n))

10
eval.c
Просмотреть файл

@ -55,10 +55,10 @@ char **rb_origenviron;
void rb_clear_trace_func(void); void rb_clear_trace_func(void);
void rb_thread_stop_timer_thread(void); void rb_thread_stop_timer_thread(void);
void rb_call_inits _((void)); void rb_call_inits(void);
void Init_stack _((VALUE *)); void Init_stack(VALUE *);
void Init_heap _((void)); void Init_heap(void);
void Init_ext _((void)); void Init_ext(void);
void Init_BareVM(void); void Init_BareVM(void);
void void
@ -268,7 +268,7 @@ rb_eval_string(const char *str)
VALUE VALUE
rb_eval_string_protect(const char *str, int *state) rb_eval_string_protect(const char *str, int *state)
{ {
return rb_protect((VALUE (*)_((VALUE)))rb_eval_string, (VALUE)str, state); return rb_protect((VALUE (*)(VALUE))rb_eval_string, (VALUE)str, state);
} }
VALUE VALUE

Просмотреть файл

@ -62,7 +62,7 @@ void *alloca();
#endif #endif
#ifndef HAVE_STRING_H #ifndef HAVE_STRING_H
char *strrchr _((const char *, const char)); char *strrchr(const char *, const char);
#endif #endif
#ifdef HAVE_UNISTD_H #ifdef HAVE_UNISTD_H
@ -192,19 +192,19 @@ char *strrchr _((const char *, const char));
} \ } \
while (0) while (0)
void rb_thread_cleanup _((void)); void rb_thread_cleanup(void);
void rb_thread_wait_other_threads _((void)); void rb_thread_wait_other_threads(void);
int thread_set_raised(rb_thread_t *th); int thread_set_raised(rb_thread_t *th);
int thread_reset_raised(rb_thread_t *th); int thread_reset_raised(rb_thread_t *th);
VALUE rb_f_eval(int argc, VALUE *argv, VALUE self); VALUE rb_f_eval(int argc, VALUE *argv, VALUE self);
VALUE rb_make_exception _((int argc, VALUE *argv)); VALUE rb_make_exception(int argc, VALUE *argv);
NORETURN(void rb_fiber_start(void)); NORETURN(void rb_fiber_start(void));
NORETURN(void rb_raise_jump _((VALUE))); NORETURN(void rb_raise_jump(VALUE));
NORETURN(void rb_print_undef _((VALUE, ID, int))); NORETURN(void rb_print_undef(VALUE, ID, int));
NORETURN(void vm_localjump_error(const char *, VALUE, int)); NORETURN(void vm_localjump_error(const char *, VALUE, int));
NORETURN(void vm_jump_tag_but_local_jump(int, VALUE)); NORETURN(void vm_jump_tag_but_local_jump(int, VALUE));

Просмотреть файл

@ -1,6 +1,6 @@
%{ %{
struct kwtable {char *name; int id[2]; enum lex_state_e state;}; struct kwtable {char *name; int id[2]; enum lex_state_e state;};
const struct kwtable *rb_reserved_word _((const char *, unsigned int)); const struct kwtable *rb_reserved_word(const char *, unsigned int);
#ifndef RIPPER #ifndef RIPPER
%} %}

Просмотреть файл

@ -31,7 +31,7 @@ error "gperf generated tables don't work with this execution character set. Plea
#line 1 "keywords" #line 1 "keywords"
struct kwtable {char *name; int id[2]; enum lex_state_e state;}; struct kwtable {char *name; int id[2]; enum lex_state_e state;};
const struct kwtable *rb_reserved_word _((const char *, unsigned int)); const struct kwtable *rb_reserved_word(const char *, unsigned int);
#ifndef RIPPER #ifndef RIPPER
#line 7 "keywords" #line 7 "keywords"
struct kwtable; struct kwtable;

Просмотреть файл

@ -1,6 +1,6 @@
%{ %{
struct kwtable {char *name; int id[2]; enum lex_state_e state;}; struct kwtable {char *name; int id[2]; enum lex_state_e state;};
const struct kwtable *rb_reserved_word _((const char *, unsigned int)); const struct kwtable *rb_reserved_word(const char *, unsigned int);
#ifndef RIPPER #ifndef RIPPER
%} %}

2
load.c
Просмотреть файл

@ -215,7 +215,7 @@ rb_provide(const char *feature)
rb_provide_feature(rb_str_new2(feature)); rb_provide_feature(rb_str_new2(feature));
} }
NORETURN(static void load_failed _((VALUE))); NORETURN(static void load_failed(VALUE));
void void
rb_load(VALUE fname, int wrap) rb_load(VALUE fname, int wrap)

Просмотреть файл

@ -1998,7 +1998,7 @@ struct thgroup {
* were created. * were created.
*/ */
static VALUE thgroup_s_alloc _((VALUE)); static VALUE thgroup_s_alloc(VALUE);
static VALUE static VALUE
thgroup_s_alloc(VALUE klass) thgroup_s_alloc(VALUE klass)
{ {