From: WATANABE Tetsuya Date: 2001-03-22T15:18:25+09:00 Subject: [ruby-dev:12607] Re: extern inline (ruby.h) ruby-1.6.3 渡辺哲也です。 In message "[ruby-dev:12606] Re: extern inline (ruby.h) ruby-1.6.3" on 01/03/22, Yukihiro Matsumoto 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