diff options
Diffstat (limited to 'llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h')
-rw-r--r-- | llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h b/llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h index 169dc8f1d02b..139572bd6977 100644 --- a/llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h +++ b/llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h @@ -154,7 +154,8 @@ class OrcMCJITReplacement : public ExecutionEngine { M.reportError(std::move(Err)); return SymbolNameSet(); } else { - if (auto Sym2 = M.ClientResolver->findSymbolInLogicalDylib(*S)) { + if (auto Sym2 = + M.ClientResolver->findSymbolInLogicalDylib(std::string(*S))) { if (!Sym2.getFlags().isStrong()) Result.insert(S); } else if (auto Err = Sym2.takeError()) { @@ -187,7 +188,7 @@ class OrcMCJITReplacement : public ExecutionEngine { M.ES.legacyFailQuery(*Query, std::move(Err)); return SymbolNameSet(); } else { - if (auto Sym2 = M.ClientResolver->findSymbol(*S)) { + if (auto Sym2 = M.ClientResolver->findSymbol(std::string(*S))) { if (auto Addr = Sym2.getAddress()) { Query->notifySymbolMetRequiredState( S, JITEvaluatedSymbol(*Addr, Sym2.getFlags())); @@ -378,9 +379,9 @@ public: private: JITSymbol findMangledSymbol(StringRef Name) { - if (auto Sym = LazyEmitLayer.findSymbol(Name, false)) + if (auto Sym = LazyEmitLayer.findSymbol(std::string(Name), false)) return Sym; - if (auto Sym = ClientResolver->findSymbol(Name)) + if (auto Sym = ClientResolver->findSymbol(std::string(Name))) return Sym; if (auto Sym = scanArchives(Name)) return Sym; |