[llvm-bugs] [Bug 34070] New: Refactor all LLVM tools to use a common output file management library

via llvm-bugs llvm-bugs at lists.llvm.org
Fri Aug 4 11:33:16 PDT 2017


            Bug ID: 34070
           Summary: Refactor all LLVM tools to use a common output file
                    management library
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Support Libraries
          Assignee: unassignedbugs at nondot.org
          Reporter: rnk at google.com
                CC: llvm-bugs at lists.llvm.org

LLVM tools generally produce output and write it to a file. However, they all
do it with varying levels of good behavior. Ideally, a tool has these

1. Atomicity: Regardless of how the tool exits (success, crash, SIGKILL) the
output file should either be complete and valid, or it does not exist.
2. No leaks: During normal operation (successful execution or crash, but not
SIGKILL), no temporary files should be left behind after the tool exits.

We need to beef up ToolOutputFile and FileOutputBuffer to have these
properties, and then refactor all LLVM tools to use them. Right now, neither
successfully deletes their temporary files on Windows because we keep the file
descriptors open.

Ideally, we should deprecate RemoveFileOnSignal and sink all this logic into

You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20170804/bf38fb67/attachment.html>

More information about the llvm-bugs mailing list