From 17b4b2e7028c38411e50551b77edec7bbc1092ca Mon Sep 17 00:00:00 2001 From: Rafael Espindola Date: Fri, 10 Apr 2015 14:30:43 +0000 Subject: [PATCH] Return std::unique_ptr to avoid a release and recreate. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@234598 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/clang/Frontend/CompilerInstance.h | 2 +- lib/Frontend/CompilerInstance.cpp | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/include/clang/Frontend/CompilerInstance.h b/include/clang/Frontend/CompilerInstance.h index 94966e1a5e..dbdf6597be 100644 --- a/include/clang/Frontend/CompilerInstance.h +++ b/include/clang/Frontend/CompilerInstance.h @@ -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 createOutputFile(StringRef OutputPath, std::error_code &Error, bool Binary, bool RemoveFileOnSignal, StringRef BaseInput, StringRef Extension, bool UseTemporary, diff --git a/lib/Frontend/CompilerInstance.cpp b/lib/Frontend/CompilerInstance.cpp index 70b3bc4378..5bb7f15b12 100644 --- a/lib/Frontend/CompilerInstance.cpp +++ b/lib/Frontend/CompilerInstance.cpp @@ -575,9 +575,9 @@ CompilerInstance::createOutputFile(StringRef OutputPath, bool CreateMissingDirectories) { std::string OutputPathName, TempPathName; std::error_code EC; - std::unique_ptr OS(createOutputFile( + std::unique_ptr 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 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 -- 2.40.0