make all llvm tools call llvm_shutdown when they exit, static'ify some stuff.
[oota-llvm.git] / tools / llvm-ar / llvm-ar.cpp
index 1e8bcec463a545dfcfa173f1720f823cf13092fd..b9278ad6a31a9f497369c43b44e1b8e60d36c2a4 100644 (file)
 #include "llvm/Bytecode/Archive.h"
 #include "llvm/Support/CommandLine.h"
 #include "llvm/Support/Compressor.h"
+#include "llvm/Support/ManagedStatic.h"
 #include "llvm/System/Signals.h"
 #include <iostream>
 #include <algorithm>
 #include <iomanip>
 #include <memory>
-
 using namespace llvm;
 
 // Option for compatibility with ASIX, not used but must allow it to be present.
@@ -696,6 +696,7 @@ doReplaceOrInsert(std::string* ErrMsg) {
 
 // main - main program for llvm-ar .. see comments in the code
 int main(int argc, char **argv) {
+  llvm_shutdown_obj X;  // Call llvm_shutdown() on exit.
 
   // Have the command line options parsed and handle things
   // like --help and --version.