[gcc r14-1472] libstdc++: Fix PSTL test that fails in C++20

Jonathan Wakely redi@gcc.gnu.org
Thu Jun 1 15:55:51 GMT 2023


https://gcc.gnu.org/g:f8403c43045cd56b5f775e1cf12a3f22feca4b58

commit r14-1472-gf8403c43045cd56b5f775e1cf12a3f22feca4b58
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Thu Jun 1 16:49:53 2023 +0100

    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.

Diff:
---
 libstdc++-v3/testsuite/26_numerics/pstl/numeric_ops/transform_reduce.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

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 ec020b42bbb..bec1c141278 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;
     }


More information about the Gcc-cvs mailing list