Fix the MSVC build with the new Orc JIT APIs

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@226949 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Reid Kleckner
2015-01-23 22:25:47 +00:00
parent cf990541a0
commit d09c631f07
2 changed files with 9 additions and 3 deletions

View File

@ -32,11 +32,17 @@ protected:
/// had been provided by this instance. Higher level layers are responsible
/// for taking any action required to handle the missing symbols.
class LinkedObjectSet {
LinkedObjectSet(const LinkedObjectSet&) LLVM_DELETED_FUNCTION;
void operator=(const LinkedObjectSet&) LLVM_DELETED_FUNCTION;
public:
LinkedObjectSet(std::unique_ptr<RTDyldMemoryManager> MM)
: MM(std::move(MM)), RTDyld(llvm::make_unique<RuntimeDyld>(&*this->MM)),
State(Raw) {}
// MSVC 2012 cannot infer a move constructor, so write it out longhand.
LinkedObjectSet(LinkedObjectSet &&O)
: MM(std::move(O.MM)), RTDyld(std::move(O.RTDyld)), State(O.State) {}
std::unique_ptr<RuntimeDyld::LoadedObjectInfo>
addObject(const object::ObjectFile &Obj) {
return RTDyld->loadObject(Obj);
@ -74,7 +80,7 @@ protected:
public:
/// @brief Handle to a set of loaded objects.
typedef typename LinkedObjectSetListT::iterator ObjSetHandleT;
typedef LinkedObjectSetListT::iterator ObjSetHandleT;
};
/// @brief Default (no-op) action to perform when loading objects.