aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2022-11-10 14:11:27 +0000
committerJonathan Wakely <jwakely@redhat.com>2022-11-11 04:00:58 +0000
commitfbad7a74aaaddea3d7b39045a09dd3860603658e (patch)
treef8b7cc95cbe4e6f7c27194ea90fcc487187a9841
parentf54ae4da1f60f4a2dea22ef184941d953442b86d (diff)
downloadgcc-fbad7a74aaaddea3d7b39045a09dd3860603658e.zip
gcc-fbad7a74aaaddea3d7b39045a09dd3860603658e.tar.gz
gcc-fbad7a74aaaddea3d7b39045a09dd3860603658e.tar.bz2
libstdc++: Fix tests with non-const operator==
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.
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/swap.cc2
-rw-r--r--libstdc++-v3/testsuite/26_numerics/valarray/87641.cc2
2 files changed, 2 insertions, 2 deletions
diff --git a/libstdc++-v3/testsuite/20_util/tuple/swap.cc b/libstdc++-v3/testsuite/20_util/tuple/swap.cc
index c086a4f..30c8322 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/swap.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/swap.cc
@@ -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)
diff --git a/libstdc++-v3/testsuite/26_numerics/valarray/87641.cc b/libstdc++-v3/testsuite/26_numerics/valarray/87641.cc
index 38c3585..4a6e402 100644
--- a/libstdc++-v3/testsuite/26_numerics/valarray/87641.cc
+++ b/libstdc++-v3/testsuite/26_numerics/valarray/87641.cc
@@ -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;
};