From a95b0df5eddbe7fa1e9f8fe0b1ff62427e1c0318 Mon Sep 17 00:00:00 2001 From: Lang Hames Date: Wed, 28 Mar 2018 03:41:45 +0000 Subject: [ORC] Fix ORC on platforms without indirection support. Previously this crashed because a nullptr (returned by createLocalIndirectStubsManagerBuilder() on platforms without indirection support) functor was unconditionally invoked. Patch by Andres Freund. Thanks Andres! llvm-svn: 328687 --- llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'llvm/lib/ExecutionEngine') diff --git a/llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp b/llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp index 68397beae63..08aa3a8ce52 100644 --- a/llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp +++ b/llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp @@ -54,7 +54,11 @@ createLocalCompileCallbackManager(const Triple &T, std::function()> createLocalIndirectStubsManagerBuilder(const Triple &T) { switch (T.getArch()) { - default: return nullptr; + default: + return [](){ + return llvm::make_unique< + orc::LocalIndirectStubsManager>(); + }; case Triple::aarch64: return [](){ -- cgit v1.2.3