namespace {
-class DummyCallbackManager : public orc::JITCompileCallbackManagerBase {
+class DummyCallbackManager : public orc::JITCompileCallbackManager {
public:
DummyCallbackManager()
- : JITCompileCallbackManagerBase(0, 0), NextStubAddress(0),
+ : JITCompileCallbackManager(0), NextStubAddress(0),
UniversalCompile([]() { return 0; }) {
}
- CompileCallbackInfo getCompileCallback(LLVMContext &Context) override {
+ CompileCallbackInfo getCompileCallback() override {
return CompileCallbackInfo(++NextStubAddress, UniversalCompile);
}
public:
class DummyStubsManager : public orc::IndirectStubsManagerBase {
public:
+ std::error_code createStub(StringRef StubName, TargetAddress InitAddr,
+ JITSymbolFlags Flags) override {
+ llvm_unreachable("Not implemented");
+ }
+
std::error_code createStubs(const StubInitsMap &StubInits) override {
llvm_unreachable("Not implemented");
}
typedef decltype(MockBaseLayer) MockBaseLayerT;
DummyCallbackManager CallbackMgr;
- auto StubsMgrBuilder =
- []() {
- return llvm::make_unique<DummyStubsManager>();
- };
-
- llvm::orc::CompileOnDemandLayer<MockBaseLayerT>
- COD(MockBaseLayer,
- [](Function &F) { std::set<Function*> S; S.insert(&F); return S; },
- CallbackMgr, StubsMgrBuilder, true);
+
+ llvm::orc::CompileOnDemandLayer<MockBaseLayerT> COD(
+ MockBaseLayer, [](Function &F) { return std::set<Function *>{&F}; },
+ CallbackMgr, [] { return llvm::make_unique<DummyStubsManager>(); }, true);
+
auto Sym = COD.findSymbol("foo", true);
EXPECT_TRUE(!!Sym)