aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2024-06-19 17:21:16 +0100
committerJonathan Wakely <jwakely@redhat.com>2024-06-21 17:07:00 +0100
commit5f10547e021db3a4a34382cd067668f9ef97fdeb (patch)
tree85dc464d99ea213116cb9a56ca5f8ff5839ad1b4 /gcc
parent139d65d1f5a60ac90479653a4f9b63618509f3f9 (diff)
downloadgcc-5f10547e021db3a4a34382cd067668f9ef97fdeb.zip
gcc-5f10547e021db3a4a34382cd067668f9ef97fdeb.tar.gz
gcc-5f10547e021db3a4a34382cd067668f9ef97fdeb.tar.bz2
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.
Diffstat (limited to 'gcc')
0 files changed, 0 insertions, 0 deletions