summaryrefslogtreecommitdiffstats
path: root/contrib/llvm/lib/Object/SymbolSize.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/llvm/lib/Object/SymbolSize.cpp')
-rw-r--r--contrib/llvm/lib/Object/SymbolSize.cpp18
1 files changed, 6 insertions, 12 deletions
diff --git a/contrib/llvm/lib/Object/SymbolSize.cpp b/contrib/llvm/lib/Object/SymbolSize.cpp
index 1d5cd78..dd49d5f 100644
--- a/contrib/llvm/lib/Object/SymbolSize.cpp
+++ b/contrib/llvm/lib/Object/SymbolSize.cpp
@@ -16,19 +16,13 @@
using namespace llvm;
using namespace object;
-namespace {
-struct SymEntry {
- symbol_iterator I;
- uint64_t Address;
- unsigned Number;
- unsigned SectionID;
-};
-}
-
-static int compareAddress(const SymEntry *A, const SymEntry *B) {
+// Orders increasingly by (SectionID, Address).
+int llvm::object::compareAddress(const SymEntry *A, const SymEntry *B) {
if (A->SectionID != B->SectionID)
- return A->SectionID - B->SectionID;
- return A->Address - B->Address;
+ return A->SectionID < B->SectionID ? -1 : 1;
+ if (A->Address != B->Address)
+ return A->Address < B->Address ? -1 : 1;
+ return 0;
}
static unsigned getSectionID(const ObjectFile &O, SectionRef Sec) {
OpenPOWER on IntegriCloud