On 8/31/06, William A. Rowe, Jr. <[EMAIL PROTECTED]> wrote:
[EMAIL PROTECTED] wrote:
> --- apr/apr/trunk/atomic/unix/apr_atomic.c (original)
> +++ apr/apr/trunk/atomic/unix/apr_atomic.c Wed Aug 30 22:10:22 2006
> @@ -179,7 +179,7 @@
>  #endif /* APR_OVERRIDE_ATOMIC_CAS32 */
>
>  #if !defined(APR_OVERRIDE_ATOMIC_DEC32)
> -APR_DECLARE(apr_uint32_t) apr_atomic_dec32(volatile apr_uint32_t *mem)
> +APR_DECLARE(int) apr_atomic_dec32(volatile apr_uint32_t *mem)
>  {

This appears to be a binary break.

You realize we can play macro magic to enforce the correct type?

In any case, unless I'm imagining things, please revert

No.  apr_atomic.h says:

APR_DECLARE(int) apr_atomic_dec32(...)

with this Solaris 10 specific Atomics impl saying:

APR_DECLARE(apr_uint32_t) apr_atomic_dec32(...)

All other implementations of dec32() in apr_atomic.c match the int
return - not the uint32_t return.  Therefore, on a 64-bit platform, it
never could compile with the signature mismatch.  My commit allows APR
to compile on 64-bit Solaris.  -- justin

Reply via email to