]> granicus.if.org Git - clang/commitdiff
Return std::unique_ptr to avoid a release and recreate.
authorRafael Espindola <rafael.espindola@gmail.com>
Fri, 10 Apr 2015 14:30:43 +0000 (14:30 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Fri, 10 Apr 2015 14:30:43 +0000 (14:30 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@234598 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Frontend/CompilerInstance.h
lib/Frontend/CompilerInstance.cpp

index 94966e1a5ede785ace28db95518a4c6b74d7c552..dbdf6597be18e31c33f55ddd04b44e6832e2a2c1 100644 (file)
@@ -669,7 +669,7 @@ public:
   /// stored here on success.
   /// \param TempPathName [out] - If given, the temporary file path name
   /// will be stored here on success.
-  static llvm::raw_fd_ostream *
+  static std::unique_ptr<llvm::raw_fd_ostream>
   createOutputFile(StringRef OutputPath, std::error_code &Error, bool Binary,
                    bool RemoveFileOnSignal, StringRef BaseInput,
                    StringRef Extension, bool UseTemporary,
index 70b3bc43784b8449a96d8f44e084aee3de35120c..5bb7f15b1294dd9ffcd3d47722eb1d5c7280463f 100644 (file)
@@ -575,9 +575,9 @@ CompilerInstance::createOutputFile(StringRef OutputPath,
                                    bool CreateMissingDirectories) {
   std::string OutputPathName, TempPathName;
   std::error_code EC;
-  std::unique_ptr<llvm::raw_fd_ostream> OS(createOutputFile(
+  std::unique_ptr<llvm::raw_fd_ostream> OS = createOutputFile(
       OutputPath, EC, Binary, RemoveFileOnSignal, InFile, Extension,
-      UseTemporary, CreateMissingDirectories, &OutputPathName, &TempPathName));
+      UseTemporary, CreateMissingDirectories, &OutputPathName, &TempPathName);
   if (!OS) {
     getDiagnostics().Report(diag::err_fe_unable_to_open_output) << OutputPath
                                                                 << EC.message();
@@ -593,7 +593,7 @@ CompilerInstance::createOutputFile(StringRef OutputPath,
   return Ret;
 }
 
-llvm::raw_fd_ostream *CompilerInstance::createOutputFile(
+std::unique_ptr<llvm::raw_fd_ostream> CompilerInstance::createOutputFile(
     StringRef OutputPath, std::error_code &Error, bool Binary,
     bool RemoveFileOnSignal, StringRef InFile, StringRef Extension,
     bool UseTemporary, bool CreateMissingDirectories,
@@ -681,7 +681,7 @@ llvm::raw_fd_ostream *CompilerInstance::createOutputFile(
   if (TempPathName)
     *TempPathName = TempFile;
 
-  return OS.release();
+  return OS;
 }
 
 // Initialization Utilities