TOKUNAGA Hiroyuki
tkng****@xem*****
2005年 1月 11日 (火) 15:03:34 JST
徳永です。 0.4.6の足音も近付いてきたような気がする今日このごろなので、処理できそう なwarningに関しては処理してしまいたいと思います。とりあえず、uim/ディ レクトリが我々にとってはいちばん大事であるので、そこを片付けたいと思いま す。 以下がgccが出すwarningとそれに関するコメントです。 $make > build.log uim-scm.c:50:60: warning: "/*" within comment uim-scm.c:51:6: warning: "/*" within comment /*はコメント内に出てきてはいけないのですが、どうしたらいいかちょっとわ かりません。 In file included from uim-scm.c:57: uim-compat-scm.c: In function `uim_scm_c_list_free': uim-compat-scm.c:301: warning: suggest parentheses around assignment used as truth value uim-scm.c: In function `uim_scm_init_subr_0': uim-scm.c:409: warning: passing arg 3 of `siod_init_subr' from incompatible pointer type uim-scm.c: In function `uim_scm_init_subr_1': uim-scm.c:415: warning: passing arg 3 of `siod_init_subr' from incompatible pointer type uim-scm.c: In function `uim_scm_init_subr_2': uim-scm.c:421: warning: passing arg 3 of `siod_init_subr' from incompatible pointer type uim-scm.c: In function `uim_scm_init_subr_3': uim-scm.c:427: warning: passing arg 3 of `siod_init_subr' from incompatible pointer type uim-scm.c: In function `uim_scm_init_subr_4': uim-scm.c:434: warning: passing arg 3 of `siod_init_subr' from incompatible pointer type uim-scm.c: In function `uim_scm_init_subr_5': uim-scm.c:441: warning: passing arg 3 of `siod_init_subr' from incompatible pointer type uim-scm.c: At top level: uim-scm.cに関しては、warningの中身はチェックしてませんが、staticと宣言さ れている関数を外部から呼んでるのが気になります。というか、siod.hに staticな関数のプロトタイプ宣言を書くのには、どういう意味があるのでしょう か?私はそこら辺に関しては「staticと宣言された関数は外部のファイルから呼 んではいけません(だからプロトタイプ宣言は.c内に書いておきましょう)」と いう程度の知識しか持ってないので、ヘッダファイルにstaticな関数のプロトタ イプ宣言を書くことが正しいのかどうか判別できません。 slib.c:1314: warning: `set_repl_hooks' defined but not used slib.c:2314: warning: `init_subr_4' defined but not used slib.c:2320: warning: `init_subr_5' defined but not used slib.c:2754: warning: `set_eval_hooks' defined but not used slib.c:3990: warning: `siod_false_value' defined but not used slib.c:3996: warning: `last_c_errmsg' defined but not used これらはガッサリ消しちゃっても構わないんでしょうか? setenv.c:0: warning: ISO C forbids an empty source file 回避方法を今は思い付けません。 uim-custom.c: In function `extract_choice_list': uim-custom.c:274: warning: suggest parentheses around assignment used as truth value for (p = choice_sym_list; choice_sym = *p; p++) { のchoice_sym = *pがまずいようです。 for (p = choice_sym_list; *p != NULL; p++) { choice_sym = *p でいいんでしょうか? -- 徳永拓之 tkng****@xem***** http://kodou.net/