渡辺哲也です。
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