mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 03:02:36 +01:00
Replace comment about ownership with std::unique_ptr.
llvm-svn: 214533
This commit is contained in:
parent
51affe9d31
commit
f2145bd790
@ -196,9 +196,7 @@ public:
|
||||
/// resolve external symbols in objects it is loading. If a symbol is found
|
||||
/// in the Archive the contained object file will be extracted (in memory)
|
||||
/// and loaded for possible execution.
|
||||
///
|
||||
/// MCJIT will take ownership of the Archive.
|
||||
virtual void addArchive(object::Archive *A) {
|
||||
virtual void addArchive(std::unique_ptr<object::Archive> A) {
|
||||
llvm_unreachable("ExecutionEngine subclass doesn't implement addArchive.");
|
||||
}
|
||||
|
||||
|
@ -87,10 +87,6 @@ MCJIT::~MCJIT() {
|
||||
}
|
||||
LoadedObjects.clear();
|
||||
|
||||
|
||||
for (object::Archive *A : Archives)
|
||||
delete A;
|
||||
|
||||
Archives.clear();
|
||||
|
||||
delete TM;
|
||||
@ -118,8 +114,8 @@ void MCJIT::addObjectFile(std::unique_ptr<object::ObjectFile> Obj) {
|
||||
NotifyObjectEmitted(*LoadedObject);
|
||||
}
|
||||
|
||||
void MCJIT::addArchive(object::Archive *A) {
|
||||
Archives.push_back(A);
|
||||
void MCJIT::addArchive(std::unique_ptr<object::Archive> A) {
|
||||
Archives.push_back(std::move(A));
|
||||
}
|
||||
|
||||
|
||||
@ -294,7 +290,7 @@ uint64_t MCJIT::getSymbolAddress(const std::string &Name,
|
||||
if (Addr)
|
||||
return Addr;
|
||||
|
||||
for (object::Archive *A : Archives) {
|
||||
for (std::unique_ptr<object::Archive> &A : Archives) {
|
||||
// Look for our symbols in each Archive
|
||||
object::Archive::child_iterator ChildIt = A->findSym(Name);
|
||||
if (ChildIt != A->child_end()) {
|
||||
|
@ -215,7 +215,7 @@ class MCJIT : public ExecutionEngine {
|
||||
|
||||
OwningModuleContainer OwnedModules;
|
||||
|
||||
SmallVector<object::Archive*, 2> Archives;
|
||||
SmallVector<std::unique_ptr<object::Archive>, 2> Archives;
|
||||
|
||||
typedef SmallVector<ObjectImage *, 2> LoadedObjectList;
|
||||
LoadedObjectList LoadedObjects;
|
||||
@ -239,7 +239,7 @@ public:
|
||||
/// @{
|
||||
void addModule(Module *M) override;
|
||||
void addObjectFile(std::unique_ptr<object::ObjectFile> O) override;
|
||||
void addArchive(object::Archive *O) override;
|
||||
void addArchive(std::unique_ptr<object::Archive> O) override;
|
||||
bool removeModule(Module *M) override;
|
||||
|
||||
/// FindFunctionNamed - Search all of the active modules to find the one that
|
||||
|
@ -545,12 +545,14 @@ int main(int argc, char **argv, char * const *envp) {
|
||||
return 1;
|
||||
}
|
||||
std::error_code EC;
|
||||
object::Archive *Ar = new object::Archive(std::move(ArBuf.get()), EC);
|
||||
if (EC || !Ar) {
|
||||
std::unique_ptr<object::Archive> Ar =
|
||||
llvm::make_unique<object::Archive>(std::move(ArBuf.get()), EC);
|
||||
assert(Ar);
|
||||
if (EC) {
|
||||
Err.print(argv[0], errs());
|
||||
return 1;
|
||||
}
|
||||
EE->addArchive(Ar);
|
||||
EE->addArchive(std::move(Ar));
|
||||
}
|
||||
|
||||
// If the target is Cygwin/MingW and we are generating remote code, we
|
||||
|
Loading…
Reference in New Issue
Block a user