<div dir="ltr">Nice!</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Aug 28, 2014 at 4:51 PM, Alexey Samsonov <span dir="ltr"><<a href="mailto:vonosmas@gmail.com" target="_blank">vonosmas@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: samsonov<br>
Date: Thu Aug 28 18:51:01 2014<br>
New Revision: 216697<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=216697&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=216697&view=rev</a><br>
Log:<br>
Don't create a null reference in ASTUnit::LoadFromCommandLine.<br>
<br>
This change is the last in the pack of five commits<br>
(also see r216691, r216694, r216695, and r216696) that reduces the number<br>
of test failures in "check-clang" invocation in UBSan bootstrap<br>
from 2443 down to 5.<br>
<br>
Modified:<br>
    cfe/trunk/lib/Frontend/ASTUnit.cpp<br>
<br>
Modified: cfe/trunk/lib/Frontend/ASTUnit.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/ASTUnit.cpp?rev=216697&r1=216696&r2=216697&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/ASTUnit.cpp?rev=216697&r1=216696&r2=216697&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/lib/Frontend/ASTUnit.cpp (original)<br>
+++ cfe/trunk/lib/Frontend/ASTUnit.cpp Thu Aug 28 18:51:01 2014<br>
@@ -1985,7 +1985,6 @@ ASTUnit *ASTUnit::LoadFromCommandLine(<br>
   AST.reset(new ASTUnit(false));<br>
   ConfigureDiags(Diags, ArgBegin, ArgEnd, *AST, CaptureDiagnostics);<br>
   AST->Diagnostics = Diags;<br>
-  Diags = nullptr; // Zero out now to ease cleanup during crash recovery.<br>
   AST->FileSystemOpts = CI->getFileSystemOpts();<br>
   IntrusiveRefCntPtr<vfs::FileSystem> VFS =<br>
       createVFSFromCompilerInvocation(*CI, *Diags);<br>
@@ -2004,7 +2003,9 @@ ASTUnit *ASTUnit::LoadFromCommandLine(<br>
   AST->Invocation = CI;<br>
   if (ForSerialization)<br>
     AST->WriterData.reset(new ASTWriterData());<br>
-  CI = nullptr; // Zero out now to ease cleanup during crash recovery.<br>
+  // Zero out now to ease cleanup during crash recovery.<br>
+  CI = nullptr;<br>
+  Diags = nullptr;<br>
<br>
   // Recover resources if we crash before exiting this method.<br>
   llvm::CrashRecoveryContextCleanupRegistrar<ASTUnit><br>
<br>
<br>
_______________________________________________<br>
cfe-commits mailing list<br>
<a href="mailto:cfe-commits@cs.uiuc.edu">cfe-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits</a><br>
</blockquote></div><br></div>