Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/llvm/llvm-project.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'lld/COFF/SymbolTable.cpp')
-rw-r--r--lld/COFF/SymbolTable.cpp17
1 files changed, 12 insertions, 5 deletions
diff --git a/lld/COFF/SymbolTable.cpp b/lld/COFF/SymbolTable.cpp
index 627c9a22f55e..ca4c6fa835bf 100644
--- a/lld/COFF/SymbolTable.cpp
+++ b/lld/COFF/SymbolTable.cpp
@@ -44,13 +44,20 @@ void SymbolTable::addFile(std::unique_ptr<InputFile> FileP) {
}
}
+std::error_code SymbolTable::step() {
+ if (queueEmpty())
+ return std::error_code();
+ if (auto EC = readObjects())
+ return EC;
+ if (auto EC = readArchives())
+ return EC;
+ return std::error_code();
+}
+
std::error_code SymbolTable::run() {
- while (!queueEmpty()) {
- if (auto EC = readArchives())
+ while (!queueEmpty())
+ if (auto EC = step())
return EC;
- if (auto EC = readObjects())
- return EC;
- }
return std::error_code();
}