182 lines
6.5 KiB
Diff
182 lines
6.5 KiB
Diff
From 66e41846004d40fd6d12811fd0acf08920a3d1cd Mon Sep 17 00:00:00 2001
|
|
From: Yann Ylavic <ylavic@apache.org>
|
|
Date: Wed, 3 Apr 2019 13:54:46 +0000
|
|
Subject: [PATCH] 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
|
|
---
|
|
atomic/win32/apr_atomic64.c | 50 ++++++++-----------------------------
|
|
encoding/apr_encode.c | 4 +--
|
|
file_io/win32/seek.c | 2 +-
|
|
memory/unix/apr_pools.c | 8 +++---
|
|
4 files changed, 18 insertions(+), 46 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);
|
|
}
|
|
diff --git a/encoding/apr_encode.c b/encoding/apr_encode.c
|
|
index 905185921..e44ae11f0 100644
|
|
--- a/encoding/apr_encode.c
|
|
+++ b/encoding/apr_encode.c
|
|
@@ -1062,7 +1062,7 @@ APR_DECLARE(apr_status_t) apr_encode_base16(char *dest,
|
|
const char *src, apr_ssize_t slen, int flags, apr_size_t * len)
|
|
{
|
|
const char *in = src;
|
|
- apr_size_t size;
|
|
+ apr_ssize_t size;
|
|
|
|
if (!src) {
|
|
return APR_NOTFOUND;
|
|
@@ -1115,7 +1115,7 @@ APR_DECLARE(apr_status_t) apr_encode_base16_binary(char *dest,
|
|
const unsigned char *src, apr_ssize_t slen, int flags, apr_size_t * len)
|
|
{
|
|
const unsigned char *in = src;
|
|
- apr_size_t size;
|
|
+ apr_ssize_t size;
|
|
|
|
if (!src) {
|
|
return APR_NOTFOUND;
|
|
diff --git a/file_io/win32/seek.c b/file_io/win32/seek.c
|
|
index afe6edb00..dfef57716 100644
|
|
--- a/file_io/win32/seek.c
|
|
+++ b/file_io/win32/seek.c
|
|
@@ -170,7 +170,7 @@ APR_DECLARE(apr_status_t) apr_file_trunc(apr_file_t *thefile, apr_off_t offset)
|
|
thefile->bufpos = 0;
|
|
}
|
|
else if (offset < thefile->filePtr + (apr_off_t)thefile->bufpos) {
|
|
- thefile->bufpos = offset - thefile->filePtr;
|
|
+ thefile->bufpos = (apr_size_t)(offset - thefile->filePtr);
|
|
}
|
|
|
|
if (thefile->bufpos != 0) {
|
|
diff --git a/memory/unix/apr_pools.c b/memory/unix/apr_pools.c
|
|
index 5fa7da1b5..0ca715efa 100644
|
|
--- a/memory/unix/apr_pools.c
|
|
+++ b/memory/unix/apr_pools.c
|
|
@@ -407,7 +407,7 @@ apr_memnode_t *allocator_alloc(apr_allocator_t *allocator, apr_size_t in_size)
|
|
return NULL;
|
|
}
|
|
#endif
|
|
- node->index = index;
|
|
+ node->index = (apr_uint32_t)index;
|
|
node->endp = (char *)node + size;
|
|
|
|
have_node:
|
|
@@ -877,7 +877,7 @@ APR_DECLARE(void *) apr_palloc(apr_pool_t *pool, apr_size_t in_size)
|
|
free_index = (APR_ALIGN(active->endp - active->first_avail + 1,
|
|
BOUNDARY_SIZE) - BOUNDARY_SIZE) >> BOUNDARY_INDEX;
|
|
|
|
- active->free_index = free_index;
|
|
+ active->free_index = (apr_uint32_t)free_index;
|
|
node = active->next;
|
|
if (free_index >= node->free_index)
|
|
goto have_mem;
|
|
@@ -1289,7 +1289,7 @@ static int psprintf_flush(apr_vformatter_buff_t *vbuff)
|
|
free_index = (APR_ALIGN(active->endp - active->first_avail + 1,
|
|
BOUNDARY_SIZE) - BOUNDARY_SIZE) >> BOUNDARY_INDEX;
|
|
|
|
- active->free_index = free_index;
|
|
+ active->free_index = (apr_uint32_t)free_index;
|
|
node = active->next;
|
|
if (free_index < node->free_index) {
|
|
do {
|
|
@@ -1445,7 +1445,7 @@ APR_DECLARE(char *) apr_pvsprintf(apr_pool_t *pool, const char *fmt, va_list ap)
|
|
free_index = (APR_ALIGN(active->endp - active->first_avail + 1,
|
|
BOUNDARY_SIZE) - BOUNDARY_SIZE) >> BOUNDARY_INDEX;
|
|
|
|
- active->free_index = free_index;
|
|
+ active->free_index = (apr_uint32_t)free_index;
|
|
node = active->next;
|
|
|
|
if (free_index >= node->free_index) {
|
|
--
|
|
2.27.0
|
|
|