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 | baa26395ccf17fc988bb9cf62d6659ca8415ece9 (patch) | |
tree | af3d61a2611ae0c26bb7d9b8ac261976592ec108 /lib | |
parent | cf48efcf3dc6c825a113448105763fab9de9aa53 (diff) | |
download | external_llvm-baa26395ccf17fc988bb9cf62d6659ca8415ece9.tar.gz external_llvm-baa26395ccf17fc988bb9cf62d6659ca8415ece9.tar.bz2 external_llvm-baa26395ccf17fc988bb9cf62d6659ca8415ece9.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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79990 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Analysis/CFGPrinter.cpp | 4 | ||||
-rw-r--r-- | lib/Bitcode/Writer/BitWriter.cpp | 2 | ||||
-rw-r--r-- | lib/Support/raw_ostream.cpp | 12 |
3 files changed, 9 insertions, 9 deletions
diff --git a/lib/Analysis/CFGPrinter.cpp b/lib/Analysis/CFGPrinter.cpp index 4ac6b8d8e5..03cfb9d51d 100644 --- a/lib/Analysis/CFGPrinter.cpp +++ b/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/lib/Bitcode/Writer/BitWriter.cpp b/lib/Bitcode/Writer/BitWriter.cpp index 32a740569f..7ed651b77e 100644 --- a/lib/Bitcode/Writer/BitWriter.cpp +++ b/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/lib/Support/raw_ostream.cpp b/lib/Support/raw_ostream.cpp index 230d9a8134..a229efde6e 100644 --- a/lib/Support/raw_ostream.cpp +++ b/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); |