summaryrefslogtreecommitdiff
path: root/atomic
diff options
context:
space:
mode:
authorYann Ylavic <ylavic@apache.org>2019-04-03 13:54:46 +0000
committerYann Ylavic <ylavic@apache.org>2019-04-03 13:54:46 +0000
commit66e41846004d40fd6d12811fd0acf08920a3d1cd (patch)
tree35ec053ade05ffaf25bc760749289510953cec3d /atomic
parentd9bb27b19ef53e2873e2dbb00750bb55396e6e6a (diff)
downloadapr-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.c50
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);
}