前田です。

2012/12/11 Shugo Maeda <shugo / ruby-lang.org>:
>> これ、GC対策なので設定だけして参照しないのは意図どおりなんですよね?
>> 以下のように警告を抑制してしまってはまずいでしょうか?

regenc.{h,c}で__attribute__ ((unused))をすでに使っているようだったので、ruby.hにRB_UNUSED_VAR()
というマクロを追加して、bigdecimal.cでそれを使って警告を抑制するようにしました。
gcc 4.6.0より前のバージョンで__attribute__ ((unused))を付けても害はないと思うのでバージョンのチェックは
入れていません。
# すでにregenc.hで__GNUC__が定義されていたら__attribute__ ((unused))を使っているので問題ないと
# 判断しました。

regenc.{h,c}の方はあまりいじらない方がいいだろうと思ってマクロは共通化せずにそのままにしてあります。

あと、ext/json/generator.cでも同じ警告が出ていますが、こちらは警告に従ってGET_STATE(self);を
消したらいいように思います。

compiling generator.c
generator.c: 関数 ‘cState_aref’ 内:
generator.c:632:5: 警告: 変数 ‘state’ が設定されましたが使用されていません [-Wunused-but-set-variable]

こっちはhttps://github.com/flori/jsonにpull request送るのがいいんですかねえ。

--
Shugo Maeda