aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/FileCheck/FileCheck.cpp
diff options
context:
space:
mode:
authorpeter klausler <pklausler@nvidia.com>2021-03-23 13:57:00 -0700
committerpeter klausler <pklausler@nvidia.com>2021-03-24 11:39:18 -0700
commit5da55bfc18f64b7171be150913e2f5eac6e0f184 (patch)
tree47941fe12baa8cb85de9df3da5360ee03f70217e /llvm/lib/FileCheck/FileCheck.cpp
parent3cb2346982399892eae36e660ffa7e77a27ee067 (diff)
downloadllvm-5da55bfc18f64b7171be150913e2f5eac6e0f184.zip
llvm-5da55bfc18f64b7171be150913e2f5eac6e0f184.tar.gz
llvm-5da55bfc18f64b7171be150913e2f5eac6e0f184.tar.bz2
[flang] Fix output buffering bug (positionability assumption)
The I/O runtime library code was failing to retain data in a buffer from the current output record when flushing the buffer; this is fatally wrong when the corresponding file cannot be repositioned, as in the case of standard output to the console. So refine the Flush() member function to retain a specified number of bytes, rearrange the data as necessary (using existing code for read frame management after moving it into a new member function), and add a big comment to the head of the file to clarify the roles of the various data members in the management of contiguous frames in circular buffers. Update: added a unit test. Differential Revision: https://reviews.llvm.org/D99198
Diffstat (limited to 'llvm/lib/FileCheck/FileCheck.cpp')
0 files changed, 0 insertions, 0 deletions