[Anthy-dev 1579] warningについて

アーカイブの一覧に戻る

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/



Anthy-dev メーリングリストの案内
アーカイブの一覧に戻る