]> granicus.if.org Git - clang/commitdiff
Propagate usage of std:unique_ptr a bit. NFC.
authorRafael Espindola <rafael.espindola@gmail.com>
Thu, 9 Apr 2015 21:50:11 +0000 (21:50 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Thu, 9 Apr 2015 21:50:11 +0000 (21:50 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@234538 91177308-0d34-0410-b5e6-96231b3b80d8

tools/driver/cc1as_main.cpp

index 46f5c2e44e9edd7ba7a7b10d4019134e5accf134..a4431a1f6ca8e76b831a6610c0149021a8e567af 100644 (file)
@@ -255,8 +255,9 @@ bool AssemblerInvocation::CreateFromArgs(AssemblerInvocation &Opts,
   return Success;
 }
 
-static raw_ostream *GetOutputStream(AssemblerInvocation &Opts,
-                                    DiagnosticsEngine &Diags, bool Binary) {
+static std::unique_ptr<raw_fd_ostream>
+getOutputStream(AssemblerInvocation &Opts, DiagnosticsEngine &Diags,
+                bool Binary) {
   if (Opts.OutputPath.empty())
     Opts.OutputPath = "-";
 
@@ -266,12 +267,11 @@ static raw_ostream *GetOutputStream(AssemblerInvocation &Opts,
     sys::RemoveFileOnSignal(Opts.OutputPath);
 
   std::error_code EC;
-  raw_fd_ostream *Out = new raw_fd_ostream(
+  auto Out = llvm::make_unique<raw_fd_ostream>(
       Opts.OutputPath, EC, (Binary ? sys::fs::F_None : sys::fs::F_Text));
   if (EC) {
     Diags.Report(diag::err_fe_unable_to_open_output) << Opts.OutputPath
                                                      << EC.message();
-    delete Out;
     return nullptr;
   }
 
@@ -315,7 +315,7 @@ static bool ExecuteAssembler(AssemblerInvocation &Opts,
     MAI->setCompressDebugSections(true);
 
   bool IsBinary = Opts.OutputType == AssemblerInvocation::FT_Obj;
-  std::unique_ptr<raw_ostream> Out(GetOutputStream(Opts, Diags, IsBinary));
+  std::unique_ptr<raw_fd_ostream> Out = getOutputStream(Opts, Diags, IsBinary);
   if (!Out)
     return true;