From: "shyouhei (Shyouhei Urabe)" Date: 2013-07-25T07:31:41+09:00 Subject: [ruby-dev:47540] [ruby-trunk - Bug #8674] [patch] unused-parameter warning in ruby/ruby.h 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))のどちらか適切な方を使うべきです。基本的に警告を黙らせる目的でキャスト使うのは邪悪です。避けるべきと思います。 ---------------------------------------- Bug #8674: [patch] unused-parameter warning in ruby/ruby.h https://bugs.ruby-lang.org/issues/8674#change-40655 Author: Linda_pp (R H) Status: Open Priority: Normal Assignee: Category: Target version: ruby -v: ruby 2.0.0p195 (2013-05-14 revision 40734) [x86_64-darwin12.3.0] Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN C++ のプログラムで ruby.h をインクルードすると ruby/ruby.h にて unused-parameter の警告が出ます. ・警告内容 In file included from /Users/rhayasd/.rbenv/versions/2.1.0-dev/include/ruby-2.1.0/ruby.h:33:0, from ruby_interpreter.cpp:6: /Users/rhayasd/.rbenv/versions/2.1.0-dev/include/ruby-2.1.0/ruby/ruby.h:1270:1: warning: unused parameter 'filename' [-Wunused-parameter] rb_obj_wb_unprotect(VALUE x, const char *filename, int line) ^ /Users/rhayasd/.rbenv/versions/2.1.0-dev/include/ruby-2.1.0/ruby/ruby.h:1270:1: warning: unused parameter 'line' [-Wunused-parameter] /Users/rhayasd/.rbenv/versions/2.1.0-dev/include/ruby-2.1.0/ruby/ruby.h:1290:1: warning: unused parameter 'oldv' [-Wunused-parameter] rb_obj_written(VALUE a, VALUE oldv, VALUE b, const char *filename, int line) ^ /Users/rhayasd/.rbenv/versions/2.1.0-dev/include/ruby-2.1.0/ruby/ruby.h:1290:1: warning: unused parameter 'filename' [-Wunused-parameter] /Users/rhayasd/.rbenv/versions/2.1.0-dev/include/ruby-2.1.0/ruby/ruby.h:1290:1: warning: unused parameter 'line' [-Wunused-parameter] ・コンパイラ  gcc 4.8.1 ・コマンド  g++ -Wall -Wextra -std=c++11 source.cpp ・環境  MacOS X 10.8.4 -- http://bugs.ruby-lang.org/