summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/ScoreboardHazardRecognizer.cpp
diff options
context:
space:
mode:
authorRui Ueyama <ruiu@google.com>2017-09-27 21:19:24 +0000
committerRui Ueyama <ruiu@google.com>2017-09-27 21:19:24 +0000
commit23fa4de2db9e7e377d43abf44b8731aa7a16eb5b (patch)
tree7d0fbc515bab7f5d85ecc86828130b03d4cfa5fd /llvm/lib/CodeGen/ScoreboardHazardRecognizer.cpp
parentfa1ae3e862a6c2ee70948498c57234e95b3453c2 (diff)
downloadbcm5719-llvm-23fa4de2db9e7e377d43abf44b8731aa7a16eb5b.tar.gz
bcm5719-llvm-23fa4de2db9e7e377d43abf44b8731aa7a16eb5b.zip
Do not remove a target file in FileOutputBuffer::create().
FileOutputBuffer::create() attempts to remove a target file if the file is a regular one, which results in an unexpected result in a failure scenario. If something goes wrong and the user of FileOutputBuffer decides to not call commit(), it leaves nothing. An existing file is removed, and no new file is created. What we should do is to atomically replace an existing file with a new file using rename(), so that it wouldn't remove an existing file without creating a new one. Differential Revision: https://reviews.llvm.org/D38283 llvm-svn: 314345
Diffstat (limited to 'llvm/lib/CodeGen/ScoreboardHazardRecognizer.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud