aboutsummaryrefslogtreecommitdiffstats
path: root/tools/llc
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-08-23 02:51:22 +0000
committerChris Lattner <sabre@nondot.org>2009-08-23 02:51:22 +0000
commit17e9edc4a7bbeadf756494cf39fcacc9eff72202 (patch)
tree9aace188da0c44dfbbedde8b592702b9dcbc2cc0 /tools/llc
parent1d7fb4eae53c7ec5f9c5c18d603b50dfb9425862 (diff)
downloadexternal_llvm-17e9edc4a7bbeadf756494cf39fcacc9eff72202.zip
external_llvm-17e9edc4a7bbeadf756494cf39fcacc9eff72202.tar.gz
external_llvm-17e9edc4a7bbeadf756494cf39fcacc9eff72202.tar.bz2
Change raw_fd_ostream to take flags as an optional bitmask
instead of as two bools. Use this to add a F_Append flag which has the obvious behavior. Other unrelated changes conflated into this patch: 1. REmove EH stuff from llvm-dis and llvm-as, the try blocks are dead. 2. Simplify the filename inference code in llvm-as/llvm-dis, because raw_fd_ostream does the right thing with '-'. 3. Switch machine verifier to use raw_ostream instead of ostream (Which is the thing that needed append in the first place). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79807 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/llc')
-rw-r--r--tools/llc/llc.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/tools/llc/llc.cpp b/tools/llc/llc.cpp
index cbc1d7b..423cf47 100644
--- a/tools/llc/llc.cpp
+++ b/tools/llc/llc.cpp
@@ -137,8 +137,10 @@ static formatted_raw_ostream *GetOutputStream(const char *TargetName,
sys::RemoveFileOnSignal(sys::Path(OutputFilename));
std::string error;
- raw_fd_ostream *FDOut = new raw_fd_ostream(OutputFilename.c_str(),
- /*Binary=*/true, Force, error);
+ raw_fd_ostream *FDOut =
+ new raw_fd_ostream(OutputFilename.c_str(), error,
+ (Force ? raw_fd_ostream::F_Force : 0)|
+ raw_fd_ostream::F_Binary);
if (!error.empty()) {
errs() << error << '\n';
if (!Force)
@@ -187,8 +189,11 @@ static formatted_raw_ostream *GetOutputStream(const char *TargetName,
sys::RemoveFileOnSignal(sys::Path(OutputFilename));
std::string error;
- raw_fd_ostream *FDOut = new raw_fd_ostream(OutputFilename.c_str(),
- Binary, Force, error);
+ unsigned OpenFlags = 0;
+ if (Force) OpenFlags |= raw_fd_ostream::F_Force;
+ if (Binary) OpenFlags |= raw_fd_ostream::F_Binary;
+ raw_fd_ostream *FDOut = new raw_fd_ostream(OutputFilename.c_str(), error,
+ OpenFlags);
if (!error.empty()) {
errs() << error << '\n';
if (!Force)