summaryrefslogtreecommitdiff
path: root/tools/llvm-ar
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2013-06-20 19:50:39 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2013-06-20 19:50:39 +0000
commitf9f44f3d5ad391e5b17916b4198e442d1a64a0b1 (patch)
treea36cfb234636b17ab796fbd738ceae84d91b484e /tools/llvm-ar
parentbe87bce32bc9af9bc5918a6e08806b61e3088165 (diff)
downloadllvm-f9f44f3d5ad391e5b17916b4198e442d1a64a0b1.tar.gz
llvm-f9f44f3d5ad391e5b17916b4198e442d1a64a0b1.tar.bz2
llvm-f9f44f3d5ad391e5b17916b4198e442d1a64a0b1.tar.xz
Use a raw_fd_ostream instead of a std::ofstream.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184460 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/llvm-ar')
-rw-r--r--tools/llvm-ar/llvm-ar.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/tools/llvm-ar/llvm-ar.cpp b/tools/llvm-ar/llvm-ar.cpp
index 53b2d02c3f..b1b175f4a7 100644
--- a/tools/llvm-ar/llvm-ar.cpp
+++ b/tools/llvm-ar/llvm-ar.cpp
@@ -25,7 +25,6 @@
#include "llvm/Support/raw_ostream.h"
#include <algorithm>
#include <cstdlib>
-#include <fstream>
#include <memory>
using namespace llvm;
@@ -400,9 +399,11 @@ doExtract(std::string* ErrMsg) {
(std::find(Paths.begin(), Paths.end(), I->getPath()) != Paths.end())) {
// Open up a file stream for writing
- std::ios::openmode io_mode = std::ios::out | std::ios::trunc |
- std::ios::binary;
- std::ofstream file(I->getPath().str().c_str(), io_mode);
+ std::string Err;
+ raw_fd_ostream file(I->getPath().str().c_str(), Err,
+ raw_fd_ostream::F_Binary);
+ if (!Err.empty())
+ fail(Err);
// Get the data and its length
const char* data = reinterpret_cast<const char*>(I->getData());