Make tblgen's exception handling a little more robust by printing the
program name and also catching ...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16160 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/utils/TableGen/TableGen.cpp b/utils/TableGen/TableGen.cpp
index 15b3131..5c0f91a 100644
--- a/utils/TableGen/TableGen.cpp
+++ b/utils/TableGen/TableGen.cpp
@@ -478,12 +478,19 @@
return 1;
}
} catch (const std::string &Error) {
- std::cerr << Error << "\n";
+ std::cerr << argv[0] << ": " << Error << "\n";
if (Out != &std::cout) {
delete Out; // Close the file
std::remove(OutputFilename.c_str()); // Remove the file, it's broken
}
return 1;
+ } catch (...) {
+ std::cerr << argv[0] << ": Unknown unexpected exception occurred.\n";
+ if (Out != &std::cout) {
+ delete Out; // Close the file
+ std::remove(OutputFilename.c_str()); // Remove the file, it's broken
+ }
+ return 2;
}
if (Out != &std::cout) {