(toppers-users 2967) Re: TINETサンプルプログラムメーク時のエラー対応について

阿部 司 abe @ jo.tomakomai-ct.ac.jp
2009年 6月 12日 (金) 09:45:00 JST


長野様

苫小牧高専の阿部です。

>>>     
>> 今回のように (VP) を付けること以外は思いつきません。
>>   
> 手元に確認できる環境がないため、間違っているかもしれませんが、Warning
> メッセージが
> 「/dereferencing type/-punnedpointer will break strict-aliasing rules」
> であるなら、動作に問題がないと考えるのは少々危険です。
> 
> gcc3以降は最適化の際、別名規則に厳密にしたがっていると仮定を行います。
> この警告は別名規則に違反していることを示しており、最適化の過程で実行結果が
> 不定になる可能性があることを意味します。
> 
> その為、キャストを追加して誤魔化すのではなく、unionなどを利用してきちん
> と修正するか、
> 「-fno-strict-aliasing」を指定して、別名規則を利用した最適化をあきらめて
> コンパイルを
> 行うなどしたほうが良いと思います。

情報ありがとうございます。
やはり、(VP) だけでは、うまく動作しない場合がありました。
このため、現在 TINET-1.5 のリリース準備を行っていますが、
今回は、「-fno-strict-aliasing」で対応し、さらに検討を行いたいと思います。

-- 
.\" 苫小牧工業高等専門学校 情報工学科 教授 阿部 司
.\" 〒059-1275 北海道苫小牧市字錦岡443番地
.\" E-mail: abe @ jo.tomakomai-ct.ac.jp  TEL/FAX: 0144-67-8937