From ea9c996dcd5fc842f58a3c0ab902294420e00abb Mon Sep 17 00:00:00 2001 From: Kai Nacke Date: Sun, 19 Jan 2014 12:36:42 +0100 Subject: [PATCH] Fix new signature of verifyModule() in LLVM 3.5. --- gen/optimizer.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/gen/optimizer.cpp b/gen/optimizer.cpp index e46dbf64..8858c3f9 100644 --- a/gen/optimizer.cpp +++ b/gen/optimizer.cpp @@ -359,12 +359,17 @@ bool ldc_optimize_module(llvm::Module* m) // Verifies the module. void verifyModule(llvm::Module* m) { if (!noVerify) { - std::string verifyErr; Logger::println("Verifying module..."); LOG_SCOPE; - if (llvm::verifyModule(*m, llvm::ReturnStatusAction, &verifyErr)) + std::string ErrorStr; +#if LDC_LLVM_VER >= 305 + raw_string_ostream OS(ErrorStr); + if (llvm::verifyModule(*m, &OS)) +#else + if (llvm::verifyModule(*m, llvm::ReturnStatusAction, &ErrorStr)) +#endif { - error("%s", verifyErr.c_str()); + error("%s", ErrorStr.c_str()); fatal(); } else {