summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Kaganski <mike.kaganski@collabora.com>2020-11-18 10:24:08 +0100
committerMike Kaganski <mike.kaganski@collabora.com>2020-11-18 15:18:25 +0100
commitd9af7ac4d697be1d520ea751eb7f8fc77a2ca03e (patch)
tree3aadd943bd2df92b355265917a60f75d7d28ccbe
parent20bc83ee9e63c0c099ad9962ecc483ec5af88991 (diff)
Replace #if with if constexpr()
This allows to test the actual type, not something unrelated Change-Id: I82d0714f6355fc5ae7bd3205af3472a43f1f1051 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105998 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
-rw-r--r--sal/rtl/alloc_impl.hxx22
-rw-r--r--store/source/storcach.cxx11
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;