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

--- Comment #12 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The trunk branch has been updated by Jason Merrill <ja...@gcc.gnu.org>:

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

commit r15-91-gc3bc2787b8beb7aae67fdf2a7f7271a9a4edca7c
Author: Jason Merrill <ja...@redhat.com>
Date:   Mon Feb 12 18:24:00 2024 -0500

    c++: const void* memchr [PR113706]

    The C++ standard specifies that the <string.h> functions have const and
    non-const overloads, unlike C's single function with const argument and
    non-const return.  Many systems don't actually implement this, but only add
    an overload with non-const argument, so both end up having non-const
return.
    Solaris <string.h> does what the standard says, but we were penalizing it
by
    not recognizing the const overload as the built-in memchr.

            PR c++/113706

    gcc/cp/ChangeLog:

            * decl.cc (decls_match): Handle memchr return type being
            const-qualified.

    gcc/testsuite/ChangeLog:

            * g++.dg/opt/const-builtin1.C: New test.
            * c-c++-common/pr103798-2.c: Remove xfail.

Reply via email to