Skip to content

Commit ff993f9

Browse files
authored
[libc++] Remove identity casts in <{forward_,}list> (#130049)
1 parent 5bb112f commit ff993f9

File tree

2 files changed

+3
-12
lines changed

2 files changed

+3
-12
lines changed

libcxx/include/forward_list

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -295,7 +295,6 @@ struct __forward_node_traits {
295295
"the _LIBCPP_ABI_FORWARD_LIST_REMOVE_NODE_POINTER_UB macro to silence this diagnostic.");
296296
# endif
297297

298-
_LIBCPP_HIDE_FROM_ABI static __begin_node_pointer __as_iter_node(__begin_node_pointer __p) { return __p; }
299298
_LIBCPP_HIDE_FROM_ABI static __begin_node_pointer __as_iter_node(__node_pointer __p) {
300299
return static_cast<__begin_node_pointer>(static_cast<__void_pointer>(__p));
301300
}
@@ -373,8 +372,7 @@ class _LIBCPP_TEMPLATE_VIS __forward_list_iterator {
373372

374373
_LIBCPP_HIDE_FROM_ABI explicit __forward_list_iterator(nullptr_t) _NOEXCEPT : __ptr_(nullptr) {}
375374

376-
_LIBCPP_HIDE_FROM_ABI explicit __forward_list_iterator(__begin_node_pointer __p) _NOEXCEPT
377-
: __ptr_(__traits::__as_iter_node(__p)) {}
375+
_LIBCPP_HIDE_FROM_ABI explicit __forward_list_iterator(__begin_node_pointer __p) _NOEXCEPT : __ptr_(__p) {}
378376

379377
_LIBCPP_HIDE_FROM_ABI explicit __forward_list_iterator(__node_pointer __p) _NOEXCEPT
380378
: __ptr_(__traits::__as_iter_node(__p)) {}
@@ -438,8 +436,7 @@ class _LIBCPP_TEMPLATE_VIS __forward_list_const_iterator {
438436

439437
_LIBCPP_HIDE_FROM_ABI explicit __forward_list_const_iterator(nullptr_t) _NOEXCEPT : __ptr_(nullptr) {}
440438

441-
_LIBCPP_HIDE_FROM_ABI explicit __forward_list_const_iterator(__begin_node_pointer __p) _NOEXCEPT
442-
: __ptr_(__traits::__as_iter_node(__p)) {}
439+
_LIBCPP_HIDE_FROM_ABI explicit __forward_list_const_iterator(__begin_node_pointer __p) _NOEXCEPT : __ptr_(__p) {}
443440

444441
_LIBCPP_HIDE_FROM_ABI explicit __forward_list_const_iterator(__node_pointer __p) _NOEXCEPT
445442
: __ptr_(__traits::__as_iter_node(__p)) {}

libcxx/include/list

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -286,12 +286,6 @@ struct __list_node_pointer_traits {
286286
"LLVM 19 and LLVM 20. If you don't care about your ABI being broken, define the "
287287
"_LIBCPP_ABI_LIST_REMOVE_NODE_POINTER_UB macro to silence this diagnostic.");
288288
# endif
289-
290-
static _LIBCPP_HIDE_FROM_ABI __base_pointer __unsafe_link_pointer_cast(__base_pointer __p) { return __p; }
291-
292-
static _LIBCPP_HIDE_FROM_ABI __base_pointer __unsafe_link_pointer_cast(__node_pointer __p) {
293-
return static_cast<__base_pointer>(static_cast<_VoidPtr>(__p));
294-
}
295289
};
296290

297291
template <class _Tp, class _VoidPtr>
@@ -504,7 +498,7 @@ protected:
504498
_LIBCPP_COMPRESSED_PAIR(size_type, __size_, __node_allocator, __node_alloc_);
505499

506500
_LIBCPP_HIDE_FROM_ABI __base_pointer __end_as_link() const _NOEXCEPT {
507-
return __node_pointer_traits::__unsafe_link_pointer_cast(const_cast<__node_base&>(__end_).__self());
501+
return const_cast<__node_base&>(__end_).__self();
508502
}
509503

510504
_LIBCPP_HIDE_FROM_ABI size_type __node_alloc_max_size() const _NOEXCEPT {

0 commit comments

Comments
 (0)