diff options
author | Jason Merrill <jason@redhat.com> | 2023-12-05 15:28:16 -0500 |
---|---|---|
committer | Jason Merrill <jason@redhat.com> | 2023-12-06 09:02:01 -0500 |
commit | c1e54c82a9e1855499ef7bb8827540e6a097532b (patch) | |
tree | dcc6828f45c31dea806aaf442536b0aa0b620362 /gcc/rust/resolve | |
parent | e0eca4a55bd14d506708fb0396b31e7f7383160c (diff) | |
download | gcc-c1e54c82a9e1855499ef7bb8827540e6a097532b.zip gcc-c1e54c82a9e1855499ef7bb8827540e6a097532b.tar.gz gcc-c1e54c82a9e1855499ef7bb8827540e6a097532b.tar.bz2 |
c++: partial ordering of object parameter [PR53499]
Looks like we implemented option 1 (skip the object parameter) for CWG532
before the issue was resolved, and never updated to the final resolution of
option 2 (model it as a reference). More recently CWG2445 extended this
handling to static member functions; I think that's wrong, and have
opened CWG2834 to address that and how explicit object member functions
interact with it.
The FIXME comments are to guide how the explicit object member function
support should change the uses of DECL_NONSTATIC_MEMBER_FUNCTION_P.
The library testsuite changes are to make partial ordering work again
between the generic operator- in the testcase and
_Pointer_adapter::operator-.
DR 532
PR c++/53499
gcc/cp/ChangeLog:
* pt.cc (more_specialized_fn): Fix object parameter handling.
gcc/testsuite/ChangeLog:
* g++.dg/template/partial-order4.C: New test.
* g++.dg/template/spec26.C: Adjust for CWG532.
libstdc++-v3/ChangeLog:
* testsuite/23_containers/vector/ext_pointer/types/1.cc
* testsuite/23_containers/vector/ext_pointer/types/2.cc
(N::operator-): Make less specialized.
Diffstat (limited to 'gcc/rust/resolve')
0 files changed, 0 insertions, 0 deletions