diff --git a/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp b/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp index d415514df0fb..0956761187d6 100644 --- a/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp +++ b/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp @@ -620,8 +620,6 @@ void RuntimeDyldImpl::resolveRelocationList(const RelocationList &Relocs, } void RuntimeDyldImpl::resolveExternalSymbols() { - StringMap ProcessedSymbols; - while (!ExternalSymbolRelocations.empty()) { StringMap::iterator i = ExternalSymbolRelocations.begin(); @@ -667,20 +665,8 @@ void RuntimeDyldImpl::resolveExternalSymbols() { resolveRelocationList(Relocs, Addr); } - ProcessedSymbols[i->first()] = i->second; ExternalSymbolRelocations.erase(i); } - - // Restore the relocation entries that were consumed in the loop above: - // - // FIXME: Replace the following loop with: - // std::swap(ProcessedSymbols, ExternalSymbolRelocations) - // once StringMap has copy and move construction. - for (StringMap::iterator I = ProcessedSymbols.begin(), - E = ProcessedSymbols.end(); - I != E; ++I) { - ExternalSymbolRelocations[I->first()] = I->second; - } } //===----------------------------------------------------------------------===//