unwind: EHABISectionIterator `operator!=`, constify `operator-`
Add missing `operator!=` and make `operator-` const for
`EHABISectionIterator`. This repairs the build of libunwind when
building with GCC.
Patch by Chad Duffin!
Reviewed By: compnerd, libunwind
Differential Revision: https://reviews.llvm.org/D81597
GitOrigin-RevId: 2d865ccbd8c47fe94af04a6cffd02c45a24e2ffb
diff --git a/src/UnwindCursor.hpp b/src/UnwindCursor.hpp
index 8200eee..f346c72 100644
--- a/src/UnwindCursor.hpp
+++ b/src/UnwindCursor.hpp
@@ -1275,7 +1275,7 @@
_Self operator+(size_t a) { _Self out = *this; out._i += a; return out; }
_Self operator-(size_t a) { assert(_i >= a); _Self out = *this; out._i -= a; return out; }
- size_t operator-(const _Self& other) { return _i - other._i; }
+ size_t operator-(const _Self& other) const { return _i - other._i; }
bool operator==(const _Self& other) const {
assert(_addressSpace == other._addressSpace);
@@ -1283,6 +1283,12 @@
return _i == other._i;
}
+ bool operator!=(const _Self& other) const {
+ assert(_addressSpace == other._addressSpace);
+ assert(_sects == other._sects);
+ return _i != other._i;
+ }
+
typename A::pint_t operator*() const { return functionAddress(); }
typename A::pint_t functionAddress() const {