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

--- Comment #20 from GCC 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:5f10547e021db3a4a34382cd067668f9ef97fdeb

commit r15-1551-g5f10547e021db3a4a34382cd067668f9ef97fdeb
Author: Jonathan Wakely <jwak...@redhat.com>
Date:   Wed Jun 19 17:21:16 2024 +0100

    libstdc++: Stop using std::__is_pointer in <deque> and <algorithm>
[PR115497]

    This replaces all uses of the std::__is_pointer type trait with uses of
    the new __is_pointer built-in. Since the class template was only used to
    enable some performance optimizations for algorithms, we can use the
    built-in when __has_builtin(__is_pointer) is true (which is the case for
    GCC trunk and for current versions of Clang) and just forego the
    optimization otherwise.

    Removing the uses of std::__is_pointer means it can be removed from
    <bits/cpp_type_traits.h>, which is another step towards fixing PR
    115497.

    libstdc++-v3/ChangeLog:

            PR libstdc++/115497
            * include/bits/deque.tcc (__lex_cmp_dit): Replace __is_pointer
            class template with __is_pointer(T) built-in.
            (__lexicographical_compare_aux1): Likewise.
            * include/bits/stl_algobase.h (__equal_aux1): Likewise.
            (__lexicographical_compare_aux1): Likewise.

Reply via email to