From: KOSAKI Motohiro Date: 2013-07-26T02:07:22+09:00 Subject: [ruby-dev:47541] Re: [ruby-trunk - Bug #8674] [patch] unused-parameter warning in ruby/ruby.h (7/24/13 6:31 PM), shyouhei (Shyouhei Urabe) wrote: > > Issue #8674 has been updated by shyouhei (Shyouhei Urabe). > > > Linda_pp (R H) wrote: >> + #else >> + (void)filename; >> + (void)line; >> #endif > > (void) で黙らせるのは感心しません。gccにおける警告の抑制が目的なら__attribute__((used))か__attribute__((unused))のどちらか適切な方を使うべきです。基本的に警告を黙らせる目的でキャスト使うのは邪悪です。避けるべきと思います。 (void)で黙らせるのはあまりに広く普及しているので普通のコンパイラなら変なコード吐かないようにケアしてくれてると思うけどなあ。 ところでこれって、-Wunused-parameter 由来だから C++ じゃなくて -Wextra由来だと思うんですが、なにか勘違いしてるかなあ。 -Wextraは false positive てんこもりなのを許容しますよという宣言をコンパイラにしているのだから、つまらない警告でてもそういうものとしか思わないんだけど。