渡辺哲也です。

In message "[ruby-dev:12606] Re: extern inline (ruby.h) ruby-1.6.3"
    on 01/03/22, Yukihiro Matsumoto <matz / zetabits.com> writes:

|まつもと ゆきひろです

|Cは規格ではinlineを定義してませんから、なんでもアリでしょう
|ね。で、聞きたいのはHP-UXで動くのは
|
|  * ただのinline
|  * static inline
|
|のどちらなんでしょう? extern inlineが問題というならば、
|externを外すなり、static inlineにするなりで対応しようと思い
|ますが。

どっちもダメなんです。

inline という予約語的なものは使えません。

# C++ なら OK なんですけどね。

inline 展開したいときには、コンパイラにコ
マンドラインから指定する
+Oinline=rb_type,rb_class_of,rb_special_const_p

か、#pragma です。

#pragma inline rb_type,rb_class_of,rb_special_const_p

それも最適化レベル 3 以上のときだけになり
ます。最適化レベルが低いときのことも考え
る必要があるので、HP C Compiler での汎用
的な書き方はけっこう汚くなっちゃいます。

なので、inline は基本的には使えないという
形になるので、以前の ruby-1.6.2 のように

o util.c に定義してある
o ruby.h は宣言だけ

ということが残るとありがたいのですが...

# コードの一元管理という意味で、よろしく
# ないですけど...

-- 
WATANABE Tetsuya
 e-mail: Tetsuya_WATANABE / hp.com
         tetsu / jpn.hp.com