diff options
Diffstat (limited to 'contrib/llvm-project/clang/lib/Interpreter/IncrementalExecutor.cpp')
-rw-r--r-- | contrib/llvm-project/clang/lib/Interpreter/IncrementalExecutor.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/contrib/llvm-project/clang/lib/Interpreter/IncrementalExecutor.cpp b/contrib/llvm-project/clang/lib/Interpreter/IncrementalExecutor.cpp index 9a368d9122bc..705235aafa07 100644 --- a/contrib/llvm-project/clang/lib/Interpreter/IncrementalExecutor.cpp +++ b/contrib/llvm-project/clang/lib/Interpreter/IncrementalExecutor.cpp @@ -60,4 +60,15 @@ llvm::Error IncrementalExecutor::runCtors() const { return Jit->initialize(Jit->getMainJITDylib()); } +llvm::Expected<llvm::JITTargetAddress> +IncrementalExecutor::getSymbolAddress(llvm::StringRef Name, + SymbolNameKind NameKind) const { + auto Sym = (NameKind == LinkerName) ? Jit->lookupLinkerMangled(Name) + : Jit->lookup(Name); + + if (!Sym) + return Sym.takeError(); + return Sym->getAddress(); +} + } // end namespace clang |