summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2009-08-25 15:34:52 +0000
committerDan Gohman <gohman@apple.com>2009-08-25 15:34:52 +0000
commit61a8796ddbc1669184bdb5b947796305243da4eb (patch)
treebc08afaf863f8d440591b34065ed5d98b6336570 /llvm/lib
parent7315672a60373a948df1d70c36c3dc29876f33fc (diff)
downloadbcm5719-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.cpp4
-rw-r--r--llvm/lib/Bitcode/Writer/BitWriter.cpp2
-rw-r--r--llvm/lib/Support/raw_ostream.cpp12
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);
OpenPOWER on IntegriCloud