diff options
author | Dan Gohman <gohman@apple.com> | 2009-08-25 15:34:52 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2009-08-25 15:34:52 +0000 |
commit | 61a8796ddbc1669184bdb5b947796305243da4eb (patch) | |
tree | bc08afaf863f8d440591b34065ed5d98b6336570 /llvm/lib | |
parent | 7315672a60373a948df1d70c36c3dc29876f33fc (diff) | |
download | bcm5719-llvm-61a8796ddbc1669184bdb5b947796305243da4eb.tar.gz bcm5719-llvm-61a8796ddbc1669184bdb5b947796305243da4eb.zip |
Make LLVM command-line tools overwrite their output files without -f.
This is conventional command-line tool behavior. -f now just means
"enable binary output on terminals".
Add a -f option to llvm-extract and llvm-link, for consistency.
Remove F_Force from raw_fd_ostream and enable overwriting and
truncating by default. Introduce an F_Excl flag to permit users to
enable a failure when the file already exists. This flag is
currently unused.
Update Makefiles and documentation accordingly.
llvm-svn: 79990
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Analysis/CFGPrinter.cpp | 4 | ||||
-rw-r--r-- | llvm/lib/Bitcode/Writer/BitWriter.cpp | 2 | ||||
-rw-r--r-- | llvm/lib/Support/raw_ostream.cpp | 12 |
3 files changed, 9 insertions, 9 deletions
diff --git a/llvm/lib/Analysis/CFGPrinter.cpp b/llvm/lib/Analysis/CFGPrinter.cpp index 4ac6b8d8e5d..03cfb9d51d8 100644 --- a/llvm/lib/Analysis/CFGPrinter.cpp +++ b/llvm/lib/Analysis/CFGPrinter.cpp @@ -138,7 +138,7 @@ namespace { errs() << "Writing '" << Filename << "'..."; std::string ErrorInfo; - raw_fd_ostream File(Filename.c_str(), ErrorInfo, raw_fd_ostream::F_Force); + raw_fd_ostream File(Filename.c_str(), ErrorInfo); if (ErrorInfo.empty()) WriteGraph(File, (const Function*)&F); @@ -170,7 +170,7 @@ namespace { errs() << "Writing '" << Filename << "'..."; std::string ErrorInfo; - raw_fd_ostream File(Filename.c_str(), ErrorInfo, raw_fd_ostream::F_Force); + raw_fd_ostream File(Filename.c_str(), ErrorInfo); if (ErrorInfo.empty()) WriteGraph(File, (const Function*)&F, true); diff --git a/llvm/lib/Bitcode/Writer/BitWriter.cpp b/llvm/lib/Bitcode/Writer/BitWriter.cpp index 32a740569f7..7ed651b77e2 100644 --- a/llvm/lib/Bitcode/Writer/BitWriter.cpp +++ b/llvm/lib/Bitcode/Writer/BitWriter.cpp @@ -18,7 +18,7 @@ using namespace llvm; int LLVMWriteBitcodeToFile(LLVMModuleRef M, const char *Path) { std::string ErrorInfo; raw_fd_ostream OS(Path, ErrorInfo, - raw_fd_ostream::F_Force|raw_fd_ostream::F_Binary); + raw_fd_ostream::F_Binary); if (!ErrorInfo.empty()) return -1; diff --git a/llvm/lib/Support/raw_ostream.cpp b/llvm/lib/Support/raw_ostream.cpp index 230d9a81340..a229efde6ea 100644 --- a/llvm/lib/Support/raw_ostream.cpp +++ b/llvm/lib/Support/raw_ostream.cpp @@ -335,9 +335,9 @@ void format_object_base::home() { /// if no error occurred. raw_fd_ostream::raw_fd_ostream(const char *Filename, std::string &ErrorInfo, unsigned Flags) : pos(0) { - // Verify that we don't have both "append" and "force". - assert((!(Flags & F_Force) || !(Flags & F_Append)) && - "Cannot specify both 'force' and 'append' file creation flags!"); + // Verify that we don't have both "append" and "excl". + assert((!(Flags & F_Excl) || !(Flags & F_Append)) && + "Cannot specify both 'excl' and 'append' file creation flags!"); ErrorInfo.clear(); @@ -358,11 +358,11 @@ raw_fd_ostream::raw_fd_ostream(const char *Filename, std::string &ErrorInfo, OpenFlags |= O_BINARY; #endif - if (Flags & F_Force) - OpenFlags |= O_TRUNC; - else if (Flags & F_Append) + if (Flags & F_Append) OpenFlags |= O_APPEND; else + OpenFlags |= O_TRUNC; + if (Flags & F_Excl) OpenFlags |= O_EXCL; FD = open(Filename, OpenFlags, 0664); |