Fixing a compile error with MSVC 2013 where there is no conversion from DISubprogram...
[oota-llvm.git] / tools / bugpoint / BugDriver.cpp
index d76e7d030ec7b95586acaaa29941429c7f0150f3..43f4c2963fc33cb3ce8386518043fb1302582a96 100644 (file)
@@ -16,6 +16,7 @@
 #include "BugDriver.h"
 #include "ToolRunner.h"
 #include "llvm/IR/Module.h"
+#include "llvm/IR/Verifier.h"
 #include "llvm/IRReader/IRReader.h"
 #include "llvm/Linker/Linker.h"
 #include "llvm/Pass.h"
@@ -91,6 +92,11 @@ std::unique_ptr<Module> llvm::parseInputFile(StringRef Filename,
     return Result;
   }
 
+  if (verifyModule(*Result, &errs())) {
+    errs() << "bugpoint: " << Filename << ": error: input module is broken!\n";
+    return std::unique_ptr<Module>();
+  }
+
   // If we don't have an override triple, use the first one to configure
   // bugpoint, or use the host triple if none provided.
   if (TargetTriple.getTriple().empty()) {