* 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>
* vm_core.h, thread.c, cont.c: add RUBY_VM_SET_INTERRUPT(),

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

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

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

@ -62,7 +62,7 @@ void *alloca();
#endif
#ifndef HAVE_STRING_H
char *strrchr _((const char *, const char));
char *strrchr(const char *, const char);
#endif
#ifdef HAVE_UNISTD_H
@ -192,19 +192,19 @@ char *strrchr _((const char *, const char));
} \
while (0)
void rb_thread_cleanup _((void));
void rb_thread_wait_other_threads _((void));
void rb_thread_cleanup(void);
void rb_thread_wait_other_threads(void);
int thread_set_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_make_exception _((int argc, VALUE *argv));
VALUE rb_make_exception(int argc, VALUE *argv);
NORETURN(void rb_fiber_start(void));
NORETURN(void rb_raise_jump _((VALUE)));
NORETURN(void rb_print_undef _((VALUE, ID, int)));
NORETURN(void rb_raise_jump(VALUE));
NORETURN(void rb_print_undef(VALUE, ID, int));
NORETURN(void vm_localjump_error(const char *, VALUE, int));
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;};
const struct kwtable *rb_reserved_word _((const char *, unsigned int));
const struct kwtable *rb_reserved_word(const char *, unsigned int);
#ifndef RIPPER
%}

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

@ -31,7 +31,7 @@ error "gperf generated tables don't work with this execution character set. Plea
#line 1 "keywords"
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
#line 7 "keywords"
struct kwtable;

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

@ -1,6 +1,6 @@
%{
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
%}

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

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

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

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