From 3290826c190157cfa6ac1c12cce39ff746e5983a Mon Sep 17 00:00:00 2001 From: Jonathan Wakely <jwakely@redhat.com> Date: Tue, 6 Aug 2024 21:26:24 +0100 Subject: [PATCH] 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>. --- 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> -- GitLab