Driver: Use PrettyStackTrace.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67149 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/driver/driver.cpp b/tools/driver/driver.cpp
index 308ec01..0724fbd 100644
--- a/tools/driver/driver.cpp
+++ b/tools/driver/driver.cpp
@@ -21,6 +21,8 @@
 
 #include "llvm/ADT/OwningPtr.h"
 #include "llvm/Config/config.h"
+#include "llvm/Support/ManagedStatic.h"
+#include "llvm/Support/PrettyStackTrace.h"
 #include "llvm/Support/raw_ostream.h"
 #include "llvm/System/Path.h"
 #include "llvm/System/Signals.h"
@@ -29,6 +31,7 @@
 
 int main(int argc, const char **argv) {
   llvm::sys::PrintStackTraceOnErrorSignal();
+  llvm::PrettyStackTraceProgram X(argc, argv);
 
   llvm::OwningPtr<DiagnosticClient> 
     DiagClient(new TextDiagnosticPrinter(llvm::errs()));
@@ -56,5 +59,9 @@
   if (!C.get())
     return 0;
 
-  return C->Execute();
+  int res = C->Execute();
+
+  llvm::llvm_shutdown();
+
+  return res;
 }