ToDo:
状況はかなりひどいようなので安定するまで バックポートは凍結かな?
GNU makeに関しては、既存の amsad/alsad/acsadでの makeで 発覚するはずなので、既存の環境での make試験をせずに commitしたのは明白。
CVS MAIN trunkに関しては KEKBの運転で使っている以上、 運転環境の構築で問題が出る変更を入れるのは NGなはず。
writebで使っている character*Nな bufferへの write文の結果だが、 Fortran規格をチェックしていないのだが、出回っているコンパイラの 出力を比較する限り実装依存な気がする。 全てのコンパイラで動くことを期待するなら、Fortranの標準規格の 範囲内で書くべきで、可能ならコンパイラの実装バグを避けるよう 実装が安定している範囲で書くべき。
Fortranの場合、1文字入出力等のプリミティブなI/Oが標準規格に無いので、 Cと異なりread/write文の実装が腐っているからといって置き換えを 作れないところが頭痛の種ですね。プリプロセッサで open/close/read/write系を Cの関数に置き換えるというのは原理的には 可能だが、それは Fortranの部分コンパイラを作ることであって、 腐った処理系の再実装に相当する。
カテゴリー: Admin | Emacs | EPICS | Fortran | FreeBSD | GCC | hgsubversion | IPv6 | KEKB | LHC | Lisp | LLVM | MADX | Ryzen | SAD | samba | tDiary | unix | WWW | YaSAI | お仕事 | イベント | 出張 | 宴会 | 数学 | 艦これ | 買いもの | 追記 | 雑記