From: Jonathan Wakely Date: Thu, 1 Jun 2023 15:49:53 +0000 (+0100) Subject: libstdc++: Fix PSTL test that fails in C++20 X-Git-Tag: releases/gcc-12.4.0~325 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ceb82ba594a6c24f33351eda0ae3fbb6fd6d841a;p=thirdparty%2Fgcc.git libstdc++: Fix PSTL test that fails in C++20 This test fails in C++20 and later due to a warning: warning: C++20 says that these are ambiguous, even though the second is reversed: note: candidate 1: 'bool MyClass::operator==(const MyClass&)' note: candidate 2: 'bool MyClass::operator==(const MyClass&)' (reversed) note: try making the operator a 'const' member function FAIL: 26_numerics/pstl/numeric_ops/transform_reduce.cc (test for excess errors) libstdc++-v3/ChangeLog: * testsuite/26_numerics/pstl/numeric_ops/transform_reduce.cc: Add const to equality operator. (cherry picked from commit f8403c43045cd56b5f775e1cf12a3f22feca4b58) --- diff --git a/libstdc++-v3/testsuite/26_numerics/pstl/numeric_ops/transform_reduce.cc b/libstdc++-v3/testsuite/26_numerics/pstl/numeric_ops/transform_reduce.cc index ec020b42bbb4..bec1c1412788 100644 --- a/libstdc++-v3/testsuite/26_numerics/pstl/numeric_ops/transform_reduce.cc +++ b/libstdc++-v3/testsuite/26_numerics/pstl/numeric_ops/transform_reduce.cc @@ -68,7 +68,7 @@ class MyClass } friend MyClass operator*(const MyClass& x, const MyClass& y) { return MyClass(x.my_field * y.my_field); } bool - operator==(const MyClass& in) + operator==(const MyClass& in) const { return my_field == in.my_field; }