projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[Orc] Make the ObjectLinkingLayer take ownership of object files until
[oota-llvm.git]
/
include
/
llvm
/
ExecutionEngine
/
Orc
/
IRCompileLayer.h
diff --git
a/include/llvm/ExecutionEngine/Orc/IRCompileLayer.h
b/include/llvm/ExecutionEngine/Orc/IRCompileLayer.h
index 1664adf893303bfa37adb9ef003f7fc479c7ffe6..e16ff8d3a392790411c128ee564b282640773567 100644
(file)
--- a/
include/llvm/ExecutionEngine/Orc/IRCompileLayer.h
+++ b/
include/llvm/ExecutionEngine/Orc/IRCompileLayer.h
@@
-76,7
+76,12
@@
public:
Buffers.push_back(std::move(Buffer));
}
Buffers.push_back(std::move(Buffer));
}
- return BaseLayer.addObjectSet(std::move(Objects), std::move(MM));
+ ModuleSetHandleT H =
+ BaseLayer.addObjectSet(Objects, std::move(MM));
+
+ BaseLayer.takeOwnershipOfBuffers(H, std::move(Buffers));
+
+ return H;
}
/// @brief Remove the module set associated with the handle H.
}
/// @brief Remove the module set associated with the handle H.
@@
-108,7
+113,8
@@
private:
if (!Obj)
return object::OwningBinary<object::ObjectFile>();
if (!Obj)
return object::OwningBinary<object::ObjectFile>();
- return {std::move(*Obj), std::move(ObjBuffer)};
+ return object::OwningBinary<object::ObjectFile>(std::move(*Obj),
+ std::move(ObjBuffer));
}
BaseLayerT &BaseLayer;
}
BaseLayerT &BaseLayer;