diff options
author | Peter Klausler <pklausler@nvidia.com> | 2024-10-10 10:24:59 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-10-10 10:24:59 -0700 |
commit | c893e3d02d1f7b67880090485a030b79741bba1c (patch) | |
tree | 5ab7719e4bb64156c295c62dd33c71edcb906f62 /lldb/packages/Python/lldbsuite | |
parent | 3f9998af4f79e95fe8be615df9d6b898008044b9 (diff) | |
download | llvm-c893e3d02d1f7b67880090485a030b79741bba1c.zip llvm-c893e3d02d1f7b67880090485a030b79741bba1c.tar.gz llvm-c893e3d02d1f7b67880090485a030b79741bba1c.tar.bz2 |
[flang][runtime] Fix runtime crash after bad recoverable OPEN (#111454)
When an OPEN statement with a unit number fails in a recoverable manner,
the runtime needs to delete the ExternalFileUnit instance that was
created in the unit map. And we do this too soon -- that instance still
holds some of the I/O statement state that will be used by a later call
into the runtime for EndIoStatement.
Move the code that deletes the unit after a failed but recoverable OPEN
into ExternalIoStatementBase::EndIoStatement, and don't do things
afterwards that would need the I/O statement state that has been
destroyed.
Fixes https://github.com/llvm/llvm-project/issues/111404.
Diffstat (limited to 'lldb/packages/Python/lldbsuite')
0 files changed, 0 insertions, 0 deletions