https://gcc.gnu.org/g:3290826c190157cfa6ac1c12cce39ff746e5983a
commit r15-2770-g3290826c190157cfa6ac1c12cce39ff746e5983a Author: Jonathan Wakely <jwak...@redhat.com> Date: Tue Aug 6 21:26:24 2024 +0100 libstdc++: Fix some undeclared uses of uintptr_t [PR116247] libstdc++-v3/ChangeLog: PR libstdc++/116247 * include/bits/fs_path.h: Use __UINTPTR_TYPE__ instead of uintptr_t. * include/bits/shared_ptr_atomic.h: Likewise. * include/ext/pointer.h: Include <stdint.h>. Diff: --- libstdc++-v3/include/bits/fs_path.h | 2 +- libstdc++-v3/include/bits/shared_ptr_atomic.h | 1 + libstdc++-v3/include/ext/pointer.h | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/libstdc++-v3/include/bits/fs_path.h b/libstdc++-v3/include/bits/fs_path.h index a42f4bf92525..62af6d98bb7d 100644 --- a/libstdc++-v3/include/bits/fs_path.h +++ b/libstdc++-v3/include/bits/fs_path.h @@ -689,7 +689,7 @@ namespace __detail ~_List() = default; _Type type() const noexcept - { return _Type(reinterpret_cast<uintptr_t>(_M_impl.get()) & 0x3); } + { return _Type(reinterpret_cast<__UINTPTR_TYPE__>(_M_impl.get()) & 0x3); } void type(_Type) noexcept; diff --git a/libstdc++-v3/include/bits/shared_ptr_atomic.h b/libstdc++-v3/include/bits/shared_ptr_atomic.h index 1403c6a17c5f..1e314b044bcd 100644 --- a/libstdc++-v3/include/bits/shared_ptr_atomic.h +++ b/libstdc++-v3/include/bits/shared_ptr_atomic.h @@ -401,6 +401,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { // Either __shared_count<> or __weak_count<> using __count_type = decltype(_Tp::_M_refcount); + using uintptr_t = __UINTPTR_TYPE__; // _Sp_counted_base<>* using pointer = decltype(__count_type::_M_pi); diff --git a/libstdc++-v3/include/ext/pointer.h b/libstdc++-v3/include/ext/pointer.h index 534b3c78226e..0ead6f53d5f5 100644 --- a/libstdc++-v3/include/ext/pointer.h +++ b/libstdc++-v3/include/ext/pointer.h @@ -42,6 +42,7 @@ # include <iosfwd> #endif +#include <stdint.h> // uintptr_t #include <bits/stl_iterator_base_types.h> #include <ext/cast.h> #include <ext/type_traits.h>