On Wed, Apr 3, 2019 at 2:30 PM Steffen <[email protected]> wrote:
>
> Warnings :
Thanks Steffen, better with the attached patch applied?
Index: atomic/win32/apr_atomic64.c
===================================================================
--- atomic/win32/apr_atomic64.c (revision 1856873)
+++ atomic/win32/apr_atomic64.c (working copy)
@@ -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(volati
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);
}
Index: encoding/apr_encode.c
===================================================================
--- encoding/apr_encode.c (revision 1856873)
+++ encoding/apr_encode.c (working copy)
@@ -1062,7 +1062,7 @@ APR_DECLARE(apr_status_t) apr_encode_base16(char *
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
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;
Index: file_io/win32/seek.c
===================================================================
--- file_io/win32/seek.c (revision 1856873)
+++ file_io/win32/seek.c (working copy)
@@ -170,7 +170,7 @@ APR_DECLARE(apr_status_t) apr_file_trunc(apr_file_
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) {
Index: memory/unix/apr_pools.c
===================================================================
--- memory/unix/apr_pools.c (revision 1856873)
+++ memory/unix/apr_pools.c (working copy)
@@ -419,7 +419,7 @@ apr_memnode_t *allocator_alloc(apr_allocator_t *al
return NULL;
}
#endif
- node->index = index;
+ node->index = (apr_uint32_t)index;
node->endp = (char *)node + size;
have_node:
@@ -870,7 +870,7 @@ APR_DECLARE(void *) apr_palloc(apr_pool_t *pool, a
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;
@@ -1286,7 +1286,7 @@ static int psprintf_flush(apr_vformatter_buff_t *v
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 {
@@ -1442,7 +1442,7 @@ APR_DECLARE(char *) apr_pvsprintf(apr_pool_t *pool
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) {
Index: .
===================================================================
--- . (revision 1856873)
+++ . (working copy)
Property changes on: .
___________________________________________________________________
Modified: svn:mergeinfo
## -0,0 +0,1 ##
Merged /apr/apr/trunk:r1856873