SAD部屋 - Ticket-29 Diff

  • Added parts are displayed like this.
  • Deleted parts are displayed like this.

! 標準出力(LUN 0)が/dev/nullで上書きされている

:Priority:Normal
:Reporter:Akio Morita
:Status:New
:Assigned to:?
:Version:3948
:Milestone:?
:Created:2012-02-08

!! Description

gfortranでは、ISO_FORTRAN_ENV::ERROR_UNITが '''LUN 0'''を指しているが、
''src/tack.f''が ''/dev/null''で上書きしており 標準エラー出力が使えない

* '''LUN 0'''は、''src/*.f''内部でマジックナンバーとして扱われている
* 出力を捨てる際に、'''LUN 0'''へ投げるコードが存在している

!! Attachement files
{{attach_map('Ticket-29')}}
{{attach_form('','')}}

!! Changelog
!!!Akio Morita (2012-02-08 (水) 16:07:09)
以下の作業は必須
* マジックナンバーを module parameterで置き換える
* 出力廃棄用のLUNを module parameterで割り当てる
** 出力処理が限定出来れば、'''-1'''などのありえない値が使える
** 環境依存に、空いているLUNを割り当てる手段が必要(初期化のために singletonが必要)

互換性について
# Fortran的な互換性(ISO_FORTRAN_ENV::ERROR_UNIT)
# SAD的な互換性('''LUN 0'''は、''/dev/null'')

可読性と長期的な後方互換性維持のためには、'''/dev/null'''行きLUNに、固有シンボルを割り当てる必要がある

当面は、(2)と互換を取りつつ長期的には(1)へ移行したい


{{its_edit_ticket_form}}