diff options
author | Yann Ylavic <ylavic@apache.org> | 2019-04-03 13:54:46 +0000 |
---|---|---|
committer | Yann Ylavic <ylavic@apache.org> | 2019-04-03 13:54:46 +0000 |
commit | 66e41846004d40fd6d12811fd0acf08920a3d1cd (patch) | |
tree | 35ec053ade05ffaf25bc760749289510953cec3d /atomic | |
parent | d9bb27b19ef53e2873e2dbb00750bb55396e6e6a (diff) | |
download | apr-66e41846004d40fd6d12811fd0acf08920a3d1cd.tar.gz |
Address some warnings raised by MSVC-32/64.
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1856873 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'atomic')
-rw-r--r-- | atomic/win32/apr_atomic64.c | 50 |
1 files changed, 11 insertions, 39 deletions
diff --git a/atomic/win32/apr_atomic64.c b/atomic/win32/apr_atomic64.c index a5acc945e..e2cd06d6c 100644 --- a/atomic/win32/apr_atomic64.c +++ b/atomic/win32/apr_atomic64.c @@ -18,55 +18,35 @@ #include "apr_atomic.h" #include "apr_thread_mutex.h" -APR_DECLARE(apr_uint64_t) apr_atomic_add64(volatile apr_uint64_t *mem, apr_uint64_t val) -{ -#if (defined(_M_IA64) || defined(_M_AMD64)) - return InterlockedExchangeAdd64(mem, val); -#else - return InterlockedExchangeAdd64((long *)mem, val); -#endif -} - /* Of course we want the 2's compliment of the unsigned value, val */ #ifdef _MSC_VER #pragma warning(disable: 4146) #endif +APR_DECLARE(apr_uint64_t) apr_atomic_add64(volatile apr_uint64_t *mem, apr_uint64_t val) +{ + return InterlockedExchangeAdd64((volatile LONG64 *)mem, val); +} + APR_DECLARE(void) apr_atomic_sub64(volatile apr_uint64_t *mem, apr_uint64_t val) { -#if (defined(_M_IA64) || defined(_M_AMD64)) - InterlockedExchangeAdd64(mem, -val); -#else - InterlockedExchangeAdd64((long *)mem, -val); -#endif + InterlockedExchangeAdd64((volatile LONG64 *)mem, -val); } APR_DECLARE(apr_uint64_t) apr_atomic_inc64(volatile apr_uint64_t *mem) { /* we return old value, win64 returns new value :( */ -#if (defined(_M_IA64) || defined(_M_AMD64)) && !defined(RC_INVOKED) - return InterlockedIncrement64(mem) - 1; -#else - return InterlockedIncrement64((long *)mem) - 1; -#endif + return InterlockedIncrement64((volatile LONG64 *)mem) - 1; } APR_DECLARE(int) apr_atomic_dec64(volatile apr_uint64_t *mem) { -#if (defined(_M_IA64) || defined(_M_AMD64)) && !defined(RC_INVOKED) - return InterlockedDecrement64(mem); -#else - return InterlockedDecrement64((long *)mem); -#endif + return !!InterlockedDecrement64((volatile LONG64 *)mem); } APR_DECLARE(void) apr_atomic_set64(volatile apr_uint64_t *mem, apr_uint64_t val) { -#if (defined(_M_IA64) || defined(_M_AMD64)) && !defined(RC_INVOKED) - InterlockedExchange64(mem, val); -#else - InterlockedExchange64((long*)mem, val); -#endif + InterlockedExchange64((volatile LONG64 *)mem, val); } APR_DECLARE(apr_uint64_t) apr_atomic_read64(volatile apr_uint64_t *mem) @@ -77,18 +57,10 @@ APR_DECLARE(apr_uint64_t) apr_atomic_read64(volatile apr_uint64_t *mem) APR_DECLARE(apr_uint64_t) apr_atomic_cas64(volatile apr_uint64_t *mem, apr_uint64_t with, apr_uint64_t cmp) { -#if (defined(_M_IA64) || defined(_M_AMD64)) && !defined(RC_INVOKED) - return InterlockedCompareExchange64(mem, with, cmp); -#else - return InterlockedCompareExchange64((long*)mem, with, cmp); -#endif + return InterlockedCompareExchange64((volatile LONG64 *)mem, with, cmp); } APR_DECLARE(apr_uint64_t) apr_atomic_xchg64(volatile apr_uint64_t *mem, apr_uint64_t val) { -#if (defined(_M_IA64) || defined(_M_AMD64)) && !defined(RC_INVOKED) - return InterlockedExchange64(mem, val); -#else - return InterlockedExchange64((long *)mem, val); -#endif + return InterlockedExchange64((volatile LONG64 *)mem, val); } |