夜行録 - 酔歩.net

日暮れて道遠し さらに夜道を行く もって夜行録と名付く

PGI コンパイラでの inline 化と IPA の問題

PGI の C++ コンパイラでインライン指定したメンバ関数が include 先で衝突する件。
なんでか勝手に解決した

ストラウストラップの3版(p. 284)には、クラス定義内で単純に宣言されるだけでなく、定義されるメンバ関数は、インラインメンバ関数と見なされる、とある。
いや、それは知っていて、というか、昔のコードはその書き方ばっかりですっげー読み難くなっているんだが、別にそうしないとインラインにできない、とは書いてないと思うんだがどうだろう?

ともあれ head ファイル内に書かれていたメンバ関数をクラス定義内定義に変えてやったら、衝突しなくなって IPA もできるようになったのである。よく判らん。

2008年05月08日 (Thu) - 18:45:00 - その他雑記 - 3172x - permalink
Karma points: -4. Do you like this article? [yes/no]