https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93628

--- Comment #2 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jonathan Wakely <r...@gcc.gnu.org>:

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

commit r11-7603-gdddd011113b6ceede733d7ae33eca695c06b181b
Author: Jonathan Wakely <jwak...@redhat.com>
Date:   Wed Mar 10 15:27:06 2021 +0000

    libstdc++: Implement LWG 3530 for concept-constrained comparisons

    The proposed resolution for this library issue simplifies the
    constraints for compare_three_way, ranges::equal_to, ranges::less etc.
    so that they do not work with types which are convertible to pointers
    but which fail to meet the usual syntactic requirements for the
    comparisons.

    This affects the example in PR libstdc++/93628 but doesn't fix the
    problem described in that report.

    libstdc++-v3/ChangeLog:

            * include/bits/ranges_cmp.h (__eq_builtin_ptr_cmp): Remove.
            (ranges::equal_to, ranges::not_equal_to): Do not constrain
            with __eq_builtin_ptr_cmp.
            (ranges::less, ranges::greater, ranges::less_equal)
            (ranges::greater_equal): Do not constrain with
            __less_builtin_ptr_cmp.
            * libsupc++/compare (compare_three_way): Do not constrain with
            __3way_builtin_ptr_cmp.
            * testsuite/18_support/comparisons/object/builtin-ptr-three-way.cc:
Moved to...
            * testsuite/18_support/comparisons/object/lwg3530.cc: ...here.
            * testsuite/20_util/function_objects/range.cmp/lwg3530.cc: New
test.

Reply via email to