#include "llvm/Module.h"
#include "llvm/Bytecode/Archive.h"
#include "llvm/Support/CommandLine.h"
+#include "llvm/Support/ManagedStatic.h"
#include "llvm/System/Signals.h"
#include <iostream>
#include <iomanip>
+#include <memory>
using namespace llvm;
}
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.
// Check the path name of the archive
sys::Path ArchivePath;
- if (!ArchivePath.setFile(ArchiveName))
+ if (!ArchivePath.set(ArchiveName))
throw std::string("Archive name invalid: ") + ArchiveName;
// Make sure it exists, we don't create empty archives
if (!TheArchive)
throw err_msg;
- TheArchive->writeToDisk(true, false, false );
+ if (TheArchive->writeToDisk(true, false, false, &err_msg ))
+ throw err_msg;
if (Verbose)
printSymbolTable(TheArchive);