From fda28722703d7ab8903ce5f616e3efed1bbdbc25 Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Tue, 14 Dec 2021 14:21:18 +0000 Subject: [PATCH] libstdc++: Simplify typedefs by using __UINTPTR_TYPE__ libstdc++-v3/ChangeLog: * include/ext/pointer.h (_Relative_pointer_impl::_UIntPtrType): Rename to uintptr_t and define as __UINTPTR_TYPE__. --- libstdc++-v3/include/ext/pointer.h | 50 ++++++++++++------------------ 1 file changed, 19 insertions(+), 31 deletions(-) diff --git a/libstdc++-v3/include/ext/pointer.h b/libstdc++-v3/include/ext/pointer.h index 6bed55f642d..5bf638a0c28 100644 --- a/libstdc++-v3/include/ext/pointer.h +++ b/libstdc++-v3/include/ext/pointer.h @@ -120,7 +120,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION if (_M_diff == 1) return 0; else - return reinterpret_cast<_Tp*>(reinterpret_cast<_UIntPtrType>(this) + return reinterpret_cast<_Tp*>(reinterpret_cast(this) + _M_diff); } @@ -130,30 +130,24 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION if (!__arg) _M_diff = 1; else - _M_diff = reinterpret_cast<_UIntPtrType>(__arg) - - reinterpret_cast<_UIntPtrType>(this); + _M_diff = reinterpret_cast(__arg) + - reinterpret_cast(this); } // Comparison of pointers inline bool operator<(const _Relative_pointer_impl& __rarg) const - { return (reinterpret_cast<_UIntPtrType>(this->get()) - < reinterpret_cast<_UIntPtrType>(__rarg.get())); } + { return (reinterpret_cast(this->get()) + < reinterpret_cast(__rarg.get())); } inline bool operator==(const _Relative_pointer_impl& __rarg) const - { return (reinterpret_cast<_UIntPtrType>(this->get()) - == reinterpret_cast<_UIntPtrType>(__rarg.get())); } + { return (reinterpret_cast(this->get()) + == reinterpret_cast(__rarg.get())); } private: -#ifdef _GLIBCXX_USE_LONG_LONG - typedef __gnu_cxx::__conditional_type< - (sizeof(unsigned long) >= sizeof(void*)), - unsigned long, unsigned long long>::__type _UIntPtrType; -#else - typedef unsigned long _UIntPtrType; -#endif - _UIntPtrType _M_diff; + typedef __UINTPTR_TYPE__ uintptr_t; + uintptr_t _M_diff; }; /** @@ -173,7 +167,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION return 0; else return reinterpret_cast - (reinterpret_cast<_UIntPtrType>(this) + _M_diff); + (reinterpret_cast(this) + _M_diff); } void @@ -182,30 +176,24 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION if (!__arg) _M_diff = 1; else - _M_diff = reinterpret_cast<_UIntPtrType>(__arg) - - reinterpret_cast<_UIntPtrType>(this); + _M_diff = reinterpret_cast(__arg) + - reinterpret_cast(this); } // Comparison of pointers inline bool operator<(const _Relative_pointer_impl& __rarg) const - { return (reinterpret_cast<_UIntPtrType>(this->get()) - < reinterpret_cast<_UIntPtrType>(__rarg.get())); } + { return (reinterpret_cast(this->get()) + < reinterpret_cast(__rarg.get())); } inline bool operator==(const _Relative_pointer_impl& __rarg) const - { return (reinterpret_cast<_UIntPtrType>(this->get()) - == reinterpret_cast<_UIntPtrType>(__rarg.get())); } + { return (reinterpret_cast(this->get()) + == reinterpret_cast(__rarg.get())); } private: -#ifdef _GLIBCXX_USE_LONG_LONG - typedef __gnu_cxx::__conditional_type< - (sizeof(unsigned long) >= sizeof(void*)), - unsigned long, unsigned long long>::__type _UIntPtrType; -#else - typedef unsigned long _UIntPtrType; -#endif - _UIntPtrType _M_diff; + typedef __UINTPTR_TYPE__ uintptr_t; + uintptr_t _M_diff; }; /** @@ -597,7 +585,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION template using rebind = typename __gnu_cxx::_Pointer_adapter< - typename pointer_traits<_Storage_policy>::template rebind<_Up>>; + typename pointer_traits<_Storage_policy>::template rebind<_Up>>; static pointer pointer_to(typename pointer::reference __r) noexcept { return pointer(std::addressof(__r)); }