[committed] libstdc++: Fix tests with non-const operator==
Checks
Commit Message
Tested x86_64-linux. Pushed to trunk.
-- >8 --
These tests fail in strict -std=c++20 mode but their equality ops don't
need to be non-const, it looks like an accident.
This fixes two FAILs with -std=c++20:
FAIL: 20_util/tuple/swap.cc (test for excess errors)
FAIL: 26_numerics/valarray/87641.cc (test for excess errors)
libstdc++-v3/ChangeLog:
* testsuite/20_util/tuple/swap.cc (MoveOnly::operator==): Add
const qualifier.
* testsuite/26_numerics/valarray/87641.cc (X::operator==):
Likewise.
---
libstdc++-v3/testsuite/20_util/tuple/swap.cc | 2 +-
libstdc++-v3/testsuite/26_numerics/valarray/87641.cc | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
@@ -38,7 +38,7 @@ struct MoveOnly
MoveOnly(MoveOnly const&) = delete;
MoveOnly& operator=(MoveOnly const&) = delete;
- bool operator==(MoveOnly const& m)
+ bool operator==(MoveOnly const& m) const
{ return i == m.i; }
void swap(MoveOnly& m)
@@ -39,7 +39,7 @@ struct X
X() : val(1) { }
X& operator+=(const X& x) { val += x.val; return *this; }
- bool operator==(const X& x) { return val == x.val; }
+ bool operator==(const X& x) const { return val == x.val; }
int val;
};