mirror of
https://github.com/RPCSX/llvm.git
synced 2024-12-02 08:46:23 +00:00
object: Add operator < for SymbolRef and SectionRef.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143563 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
783d88793a
commit
3314c26475
@ -78,6 +78,12 @@ static bool operator ==(const DataRefImpl &a, const DataRefImpl &b) {
|
||||
return std::memcmp(&a, &b, sizeof(DataRefImpl)) == 0;
|
||||
}
|
||||
|
||||
static bool operator <(const DataRefImpl &a, const DataRefImpl &b) {
|
||||
// Check bitwise identical. This is the only legal way to compare a union w/o
|
||||
// knowing which member is in use.
|
||||
return std::memcmp(&a, &b, sizeof(DataRefImpl)) < 0;
|
||||
}
|
||||
|
||||
class SymbolRef;
|
||||
|
||||
/// RelocationRef - This is a value type class that represents a single
|
||||
@ -135,6 +141,7 @@ public:
|
||||
SectionRef(DataRefImpl SectionP, const ObjectFile *Owner);
|
||||
|
||||
bool operator==(const SectionRef &Other) const;
|
||||
bool operator <(const SectionRef &Other) const;
|
||||
|
||||
error_code getNext(SectionRef &Result) const;
|
||||
|
||||
@ -182,6 +189,7 @@ public:
|
||||
SymbolRef(DataRefImpl SymbolP, const ObjectFile *Owner);
|
||||
|
||||
bool operator==(const SymbolRef &Other) const;
|
||||
bool operator <(const SymbolRef &Other) const;
|
||||
|
||||
error_code getNext(SymbolRef &Result) const;
|
||||
|
||||
@ -339,6 +347,10 @@ inline bool SymbolRef::operator==(const SymbolRef &Other) const {
|
||||
return SymbolPimpl == Other.SymbolPimpl;
|
||||
}
|
||||
|
||||
inline bool SymbolRef::operator <(const SymbolRef &Other) const {
|
||||
return SymbolPimpl < Other.SymbolPimpl;
|
||||
}
|
||||
|
||||
inline error_code SymbolRef::getNext(SymbolRef &Result) const {
|
||||
return OwningObject->getSymbolNext(SymbolPimpl, Result);
|
||||
}
|
||||
@ -402,6 +414,10 @@ inline bool SectionRef::operator==(const SectionRef &Other) const {
|
||||
return SectionPimpl == Other.SectionPimpl;
|
||||
}
|
||||
|
||||
inline bool SectionRef::operator <(const SectionRef &Other) const {
|
||||
return SectionPimpl < Other.SectionPimpl;
|
||||
}
|
||||
|
||||
inline error_code SectionRef::getNext(SectionRef &Result) const {
|
||||
return OwningObject->getSectionNext(SectionPimpl, Result);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user