X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=unittests%2FExecutionEngine%2FJIT%2FJITTest.cpp;h=4ba54b1d486071e7bf2be7874f3cbb6974104b4c;hb=9b29ff99c0443ec0c038adafc8d5c782a8624e17;hp=6110cb59747bc2deff2b565c174fd26756b3e0b2;hpb=2788345a9b58d97f0bd1d1c22381aeec125d73aa;p=oota-llvm.git diff --git a/unittests/ExecutionEngine/JIT/JITTest.cpp b/unittests/ExecutionEngine/JIT/JITTest.cpp index 6110cb59747..4ba54b1d486 100644 --- a/unittests/ExecutionEngine/JIT/JITTest.cpp +++ b/unittests/ExecutionEngine/JIT/JITTest.cpp @@ -166,15 +166,14 @@ public: } }; -bool LoadAssemblyInto(Module *M, const char *assembly) { +std::unique_ptr loadAssembly(LLVMContext &C, const char *Assembly) { SMDiagnostic Error; - bool success = - nullptr != ParseAssemblyString(assembly, M, Error, M->getContext()); + std::unique_ptr M = parseAssemblyString(Assembly, Error, C); std::string errMsg; raw_string_ostream os(errMsg); Error.print("", os); - EXPECT_TRUE(success) << os.str(); - return success; + EXPECT_TRUE((bool)M) << os.str(); + return M; } class JITTest : public testing::Test { @@ -200,7 +199,7 @@ class JITTest : public testing::Test { } void LoadAssembly(const char *assembly) { - LoadAssemblyInto(M, assembly); + M = loadAssembly(Context, assembly).release(); } LLVMContext Context; @@ -615,14 +614,13 @@ TEST_F(JITTest, EscapedLazyStubStillCallable) { // Converts the LLVM assembly to bitcode and returns it in a std::string. An // empty string indicates an error. std::string AssembleToBitcode(LLVMContext &Context, const char *Assembly) { - Module TempModule("TempModule", Context); - if (!LoadAssemblyInto(&TempModule, Assembly)) { + std::unique_ptr TempModule = loadAssembly(Context, Assembly); + if (!TempModule) return ""; - } std::string Result; raw_string_ostream OS(Result); - WriteBitcodeToFile(&TempModule, OS); + WriteBitcodeToFile(TempModule.get(), OS); OS.flush(); return Result; }