<div dir="ltr"><div class="gmail_default" style="font-family:'courier new',monospace">Hi </div><div class="gmail_default" style="font-family:'courier new',monospace"><br></div><div class="gmail_default" style="font-family:'courier new',monospace">
I see that clang creates a temporary file when generating bc/ll/.o files and it moves the temporary file to the final file when the code generation is complete. Any reason why a temporary file is needed here ?<br></div><div class="gmail_default" style="font-family:'courier new',monospace">
<br></div><div class="gmail_default" style="font-family:'courier new',monospace"><br></div><div class="gmail_default"><div class="gmail_default"><font face="courier new, monospace">CompilerInstance::createDefaultOutputFile(bool Binary,</font></div>
<div class="gmail_default"><font face="courier new, monospace">                                          StringRef InFile,</font></div><div class="gmail_default"><font face="courier new, monospace">                                          StringRef Extension) {</font></div>
<div class="gmail_default"><font face="courier new, monospace">  return createOutputFile(getFrontendOpts().OutputFile, Binary,</font></div><div class="gmail_default"><font face="courier new, monospace">                          /*RemoveFileOnSignal=*/true, InFile,                                     Extension,</font></div>
<div class="gmail_default"><font face="courier new, monospace">                          -/*UseTemporary=*/true-);</font></div><div class="gmail_default"><font face="courier new, monospace">}</font></div><div style="font-family:'courier new',monospace">
Thanks</div></div><div class="gmail_default" style="font-family:'courier new',monospace">Xin</div></div>