diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2020-01-09 21:31:55 +0000 |
---|---|---|
committer | Jonathan Wakely <redi@gcc.gnu.org> | 2020-01-09 21:31:55 +0000 |
commit | 1a7886386cea722d0d7b61730b4d1dd6d9a19109 (patch) | |
tree | 64790bbbe31216714a01e9328debb4b49a4a1040 /libgo/go/math/bits/example_test.go | |
parent | caa39b2e842b03226551231688ef7190cbe44f89 (diff) | |
download | gcc-1a7886386cea722d0d7b61730b4d1dd6d9a19109.zip gcc-1a7886386cea722d0d7b61730b4d1dd6d9a19109.tar.gz gcc-1a7886386cea722d0d7b61730b4d1dd6d9a19109.tar.bz2 |
libstdc++: Fix <ext/pointer.h> incompatibilities with C++20
The equality operators for _ExtPtr_allocator are defined as non-const
member functions, which causes ambiguities in C++20 due to the
synthesized operator!= candidates. They should always have been const.
The _Pointer_adapter class template has both value_type and element_type
members, which makes readable_traits<_Pointer_adapter<T>> ambiguous. The
intended workaround is to add a specialization of readable_traits.
* include/ext/extptr_allocator.h (_ExtPtr_allocator::operator==)
(_ExtPtr_allocator::operator!=): Add missing const qualifiers.
* include/ext/pointer.h (readable_traits<_Pointer_adapter<S>>): Add
partial specialization to disambiguate the two constrained
specializations.
From-SVN: r280067
Diffstat (limited to 'libgo/go/math/bits/example_test.go')
0 files changed, 0 insertions, 0 deletions