diff options
-rw-r--r-- | sal/rtl/alloc_impl.hxx | 22 | ||||
-rw-r--r-- | store/source/storcach.cxx | 11 |
2 files changed, 18 insertions, 15 deletions
diff --git a/sal/rtl/alloc_impl.hxx b/sal/rtl/alloc_impl.hxx index bdacba04a29d..29c24cc998d7 100644 --- a/sal/rtl/alloc_impl.hxx +++ b/sal/rtl/alloc_impl.hxx @@ -60,13 +60,14 @@ static inline unsigned int highbit(sal_Size n) if (n == 0) return 0; -#if SAL_TYPES_SIZEOFLONG == 8 - if (n & 0xffffffff00000000ul) + if constexpr (sizeof(n) >= 8) { - k |= 32; - n >>= 32; + if (n & 0xffffffff00000000) + { + k |= 32; + n >>= 32; + } } -#endif if (n & 0xffff0000) { k |= 16; @@ -103,13 +104,14 @@ static inline unsigned int lowbit(sal_Size n) if (n == 0) return 0; -#if SAL_TYPES_SIZEOFLONG == 8 - if (!(n & 0xffffffff)) + if constexpr (sizeof(n) >= 8) { - k |= 32; - n >>= 32; + if (!(n & 0xffffffff)) + { + k |= 32; + n >>= 32; + } } -#endif if (!(n & 0xffff)) { diff --git a/store/source/storcach.cxx b/store/source/storcach.cxx index c3db00d21f84..cefd963813a6 100644 --- a/store/source/storcach.cxx +++ b/store/source/storcach.cxx @@ -136,13 +136,14 @@ static int highbit(std::size_t n) if (n == 0) return 0; -#if SAL_TYPES_SIZEOFLONG == 8 - if (n & 0xffffffff00000000ul) + if constexpr (sizeof(n) == 8) { - k |= 32; - n >>= 32; + if (n & 0xffffffff00000000) + { + k |= 32; + n >>= 32; + } } -#endif if (n & 0xffff0000) { k |= 16; |