Opened 13 years ago

Closed 13 years ago

#32 closed バグ(仕様検討不足) (fixed)

ローカル領域内で定義される実体オブジェクトが未定義のままReturnしたときの処理を明確化する。

Reported by: dai Owned by: dai
Priority: 高-critical Milestone: AB5 CP4
Component: Compiler Version:
Keywords: Cc:

Description

例えば、下記のようなコードはbの解放処理(デストラクタ)が不正に呼ばれてしまうという問題を抱えている。

Sub proc()
    Dim a As String
    Return
    Dim b As String
End Sub
proc()

変数の初期化タイミングとReturnの呼ばれ方を検地し、適切な解放処理を可能にする必要がある。

Change History (3)

comment:1 Changed 13 years ago by dai

Status: newassigned

comment:2 Changed 13 years ago by dai

ちょっと違う例だが、このようなコードも解放処理が正しく行われていないことを確認した。こちらもあわせて修正する。

Sub test()
    If 1 then
        Dim a As String   '解放されない
        Return
    End If
End Sub
test()

comment:3 Changed 13 years ago by dai

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.