summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorLang Hames <lhames@gmail.com>2018-03-28 03:41:45 +0000
committerLang Hames <lhames@gmail.com>2018-03-28 03:41:45 +0000
commita95b0df5eddbe7fa1e9f8fe0b1ff62427e1c0318 (patch)
treef51738f9e554267507fd5b0f1c0bfc2ac6ec042a /llvm/lib
parent816127ea17edae0c7e2d5224d86e98181a1c602c (diff)
downloadbcm5719-llvm-a95b0df5eddbe7fa1e9f8fe0b1ff62427e1c0318.tar.gz
bcm5719-llvm-a95b0df5eddbe7fa1e9f8fe0b1ff62427e1c0318.zip
[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
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp6
1 files changed, 5 insertions, 1 deletions
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<std::unique_ptr<IndirectStubsManager>()>
createLocalIndirectStubsManagerBuilder(const Triple &T) {
switch (T.getArch()) {
- default: return nullptr;
+ default:
+ return [](){
+ return llvm::make_unique<
+ orc::LocalIndirectStubsManager<orc::OrcGenericABI>>();
+ };
case Triple::aarch64:
return [](){
OpenPOWER on IntegriCloud