From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 67AB5385DC09; Wed, 6 Dec 2023 14:02:48 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 67AB5385DC09 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1701871368; bh=YrxfncqERTF8LKitTud91pkwykmTHYBYz+y+FJx3ZSM=; h=From:To:Subject:Date:In-Reply-To:References:From; b=yzNWLxDG46Kuxtcl5lgi3M3XDTjtoP5VAEw0n2F0np11xMvxoB9bJjoJV/AuAGNBL gcLwbyMUWEdon6dZ3I9QdTBc8bBPGuY3DURethTygLvmS907dC65RipSUqGbebuQcN uAvNqOfCozmrLU8VaTlcWxLzT+yzsNFffegDpwAo= From: "cvs-commit at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug c++/53499] Incorrect partial ordering result with member vs non-member Date: Wed, 06 Dec 2023 14:02:47 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: c++ X-Bugzilla-Version: 4.7.0 X-Bugzilla-Keywords: accepts-invalid X-Bugzilla-Severity: normal X-Bugzilla-Who: cvs-commit at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 List-Id: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D53499 --- Comment #5 from GCC Commits --- The trunk branch has been updated by Jason Merrill : https://gcc.gnu.org/g:c1e54c82a9e1855499ef7bb8827540e6a097532b commit r14-6221-gc1e54c82a9e1855499ef7bb8827540e6a097532b Author: Jason Merrill Date: Tue Dec 5 15:28:16 2023 -0500 c++: partial ordering of object parameter [PR53499] Looks like we implemented option 1 (skip the object parameter) for CWG5= 32 before the issue was resolved, and never updated to the final resolutio= n 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.=