aboutsummaryrefslogtreecommitdiff
path: root/llvm/utils/TableGen/TableGen.cpp
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2010-08-20 16:45:58 +0000
committerDan Gohman <gohman@apple.com>2010-08-20 16:45:58 +0000
commit2189d1a9f330bab72c481712e9bacd9c6b7e5eeb (patch)
treef1c0885978dac84cc7f6e016c66df233bdc674a6 /llvm/utils/TableGen/TableGen.cpp
parente9a469115cc10f0458f575f922e1f4a77236d1ad (diff)
downloadllvm-2189d1a9f330bab72c481712e9bacd9c6b7e5eeb.zip
llvm-2189d1a9f330bab72c481712e9bacd9c6b7e5eeb.tar.gz
llvm-2189d1a9f330bab72c481712e9bacd9c6b7e5eeb.tar.bz2
Convert tablegen to use tool_output_file.
llvm-svn: 111644
Diffstat (limited to 'llvm/utils/TableGen/TableGen.cpp')
-rw-r--r--llvm/utils/TableGen/TableGen.cpp9
1 files changed, 3 insertions, 6 deletions
diff --git a/llvm/utils/TableGen/TableGen.cpp b/llvm/utils/TableGen/TableGen.cpp
index 30e4d0f..a544e1d 100644
--- a/llvm/utils/TableGen/TableGen.cpp
+++ b/llvm/utils/TableGen/TableGen.cpp
@@ -216,16 +216,13 @@ int main(int argc, char **argv) {
return 1;
std::string Error;
- raw_fd_ostream Out(OutputFilename.c_str(), Error);
+ tool_output_file Out(OutputFilename.c_str(), Error);
if (!Error.empty()) {
errs() << argv[0] << ": error opening " << OutputFilename
<< ":" << Error << "\n";
return 1;
}
- // Make sure the file gets removed if *gasp* tablegen crashes...
- sys::RemoveFileOnSignal(sys::Path(OutputFilename));
-
try {
switch (Action) {
case PrintRecords:
@@ -339,6 +336,8 @@ int main(int argc, char **argv) {
return 1;
}
+ // Declare success.
+ Out.keep();
return 0;
} catch (const TGError &Error) {
@@ -353,7 +352,5 @@ int main(int argc, char **argv) {
errs() << argv[0] << ": Unknown unexpected exception occurred.\n";
}
- if (OutputFilename != "-")
- std::remove(OutputFilename.c_str()); // Remove the file, it's broken
return 1;
}