なかだです。

At Sun, 4 Feb 2001 23:35:43 +0900,
matz / zetabits.com (Yukihiro Matsumoto) wrote:
> |  ですか? 実際には rb_exc_raise() 呼ぶだけなんですが、特定の例
> |外を使うために関数にしてあるんで。とりあえず直接 raise するんじゃ
> |なくてマクロをかぶせることにします。
> 
> いや、別に関数をかぶせてもよいんですが、NORETURN宣言する必要
> はそれほどないかなと。

  もちろん NORETURN がなくても warning が出るだけなので、要する
に気分の問題ですが。実際には iconv ですが、まぁとりあえずこんな
風にすることにしました。たぶん最適化すれば同じだと思うので。

void iconv_fail() NORETURN;
  |
  V
#define iconv_fail() rb_exc_raise(iconv_failure_initialize())

-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦