diff options
| author | Rui Ueyama <ruiu@google.com> | 2014-04-04 00:15:52 +0000 |
|---|---|---|
| committer | Rui Ueyama <ruiu@google.com> | 2014-04-04 00:15:52 +0000 |
| commit | 8dc9f0a3711ead756d83255433ba436cb5bbd5fd (patch) | |
| tree | 2cc3754b94af7780ee4ccf4775524d075d283e3f /lld/lib/Core/Resolver.cpp | |
| parent | 8bd093b1e591f636152ef0f9e6dd53f783323982 (diff) | |
| download | bcm5719-llvm-8dc9f0a3711ead756d83255433ba436cb5bbd5fd.tar.gz bcm5719-llvm-8dc9f0a3711ead756d83255433ba436cb5bbd5fd.zip | |
Return a vector rather than mutating a given one.
This is cleaner and as efficient as before.
Differential Revision: http://llvm-reviews.chandlerc.com/D3284
llvm-svn: 205590
Diffstat (limited to 'lld/lib/Core/Resolver.cpp')
| -rw-r--r-- | lld/lib/Core/Resolver.cpp | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/lld/lib/Core/Resolver.cpp b/lld/lib/Core/Resolver.cpp index 1b40bd37dcc..768c05a32fc 100644 --- a/lld/lib/Core/Resolver.cpp +++ b/lld/lib/Core/Resolver.cpp @@ -74,19 +74,16 @@ void Resolver::forEachUndefines(UndefCallback callback, int64_t undefineGenCount = 0; do { undefineGenCount = _symbolTable.size(); - std::vector<const UndefinedAtom *> undefines; - _symbolTable.undefines(undefines); - for (const UndefinedAtom *undefAtom : undefines) { + for (const UndefinedAtom *undefAtom : _symbolTable.undefines()) { StringRef undefName = undefAtom->name(); // load for previous undefine may also have loaded this undefine if (!_symbolTable.isDefined(undefName)) callback(undefName, false); } + // search libraries for overrides of common symbols if (searchForOverrides) { - std::vector<StringRef> tentDefNames; - _symbolTable.tentativeDefinitions(tentDefNames); - for (StringRef tentDefName : tentDefNames) { + for (StringRef tentDefName : _symbolTable.tentativeDefinitions()) { // Load for previous tentative may also have loaded // something that overrode this tentative, so always check. const Atom *curAtom = _symbolTable.findByName(tentDefName); @@ -359,8 +356,7 @@ void Resolver::deadStripOptimize() { // error out if some undefines remain bool Resolver::checkUndefines() { // build vector of remaining undefined symbols - std::vector<const UndefinedAtom *> undefinedAtoms; - _symbolTable.undefines(undefinedAtoms); + std::vector<const UndefinedAtom *> undefinedAtoms = _symbolTable.undefines(); if (_context.deadStrip()) { // When dead code stripping, we don't care if dead atoms are undefined. undefinedAtoms.erase( |

