From: Jonathan Wakely Date: Thu, 10 Nov 2022 14:11:27 +0000 (+0000) Subject: libstdc++: Fix tests with non-const operator== X-Git-Tag: release-12.2.mpacbti-rel1~257 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=905047145425c0cf072d3b965e18dc0c1c1ced7a;p=thirdparty%2Fgcc.git 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. (cherry picked from commit fbad7a74aaaddea3d7b39045a09dd3860603658e) --- diff --git a/libstdc++-v3/testsuite/20_util/tuple/swap.cc b/libstdc++-v3/testsuite/20_util/tuple/swap.cc index c086a4f1a8e4..30c8322f01c7 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 38c35851716b..4a6e402831dd 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; };