@@ -57,18 +57,11 @@ return i; #elif defined(OF_HAVE_GCC_ATOMIC_OPS) return __sync_add_and_fetch(p, i); #elif defined(OF_HAVE_OSATOMIC) - if (sizeof(int) == 4) - return OSAtomicAdd32Barrier(i, p); -# ifdef OF_HAVE_OSATOMIC_64 - else if (sizeof(int) == 8) - return OSAtomicAdd64Barrier(i, p); -# endif - else - abort(); + return OSAtomicAdd32Barrier(i, p); #else # error of_atomic_add_int not implemented! #endif } @@ -122,18 +115,15 @@ return (void*)i; #elif defined(OF_HAVE_GCC_ATOMIC_OPS) return __sync_add_and_fetch(p, (void*)i); #elif defined(OF_HAVE_OSATOMIC) - if (sizeof(void*) == 4) - return (void*)OSAtomicAdd32Barrier(i, (int32_t*)p); -# ifdef OF_HAVE_OSATOMIC_64 - else if (sizeof(void*) == 8) - return (void*)OSAtomicAdd64Barrier(i, (int64_t*)p); +# ifdef __LP64__ + return (void*)OSAtomicAdd64Barrier(i, (int64_t*)p); +# else + return (void*)OSAtomicAdd32Barrier(i, (int32_t*)p); # endif - else - abort(); #else # error of_atomic_add_ptr not implemented! #endif } @@ -168,18 +158,11 @@ return i; #elif defined(OF_HAVE_GCC_ATOMIC_OPS) return __sync_sub_and_fetch(p, i); #elif defined(OF_HAVE_OSATOMIC) - if (sizeof(int) == 4) - return OSAtomicAdd32Barrier(-i, p); -# ifdef OF_HAVE_OSATOMIC_64 - else if (sizeof(int) == 8) - return OSAtomicAdd64Barrier(-i, p); -# endif - else - abort(); + return OSAtomicAdd32Barrier(-i, p); #else # error of_atomic_sub_int not implemented! #endif } @@ -236,18 +219,15 @@ return (void*)i; #elif defined(OF_HAVE_GCC_ATOMIC_OPS) return __sync_sub_and_fetch(p, (void*)i); #elif defined(OF_HAVE_OSATOMIC) - if (sizeof(void*) == 4) - return (void*)OSAtomicAdd32Barrier(-i, (int32_t*)p); -# ifdef OF_HAVE_OSATOMIC_64 - else if (sizeof(void*) == 8) - return (void*)OSAtomicAdd64Barrier(-i, (int64_t*)p); +# ifdef __LP64__ + return (void*)OSAtomicAdd64Barrier(-i, (int64_t*)p); +# else + return (void*)OSAtomicAdd32Barrier(-i, (int32_t*)p); # endif - else - abort(); #else # error of_atomic_sub_ptr not implemented! #endif } @@ -286,18 +266,11 @@ return i; #elif defined(OF_HAVE_GCC_ATOMIC_OPS) return __sync_add_and_fetch(p, 1); #elif defined(OF_HAVE_OSATOMIC) - if (sizeof(int) == 4) - return OSAtomicIncrement32Barrier(p); -# ifdef OF_HAVE_OSATOMIC_64 - else if (sizeof(int) == 8) - return OSAtomicDecrement64Barrier(p); -# endif - else - abort(); + return OSAtomicIncrement32Barrier(p); #else # error of_atomic_inc_int not implemented! #endif } @@ -364,18 +337,11 @@ return i; #elif defined(OF_HAVE_GCC_ATOMIC_OPS) return __sync_sub_and_fetch(p, 1); #elif defined(OF_HAVE_OSATOMIC) - if (sizeof(int) == 4) - return OSAtomicDecrement32Barrier(p); -# ifdef OF_HAVE_OSATOMIC_64 - else if (sizeof(int) == 8) - return OSAtomicDecrement64Barrier(p); -# endif - else - abort(); + return OSAtomicDecrement32Barrier(p); #else # error of_atomic_dec_int not implemented! #endif } @@ -446,18 +412,11 @@ return i; #elif defined(OF_HAVE_GCC_ATOMIC_OPS) return __sync_or_and_fetch(p, i); #elif defined(OF_HAVE_OSATOMIC) - if (sizeof(int) == 4) - return OSAtomicOr32Barrier(i, p); -# ifdef OF_HAVE_OSATOMIC_64 - else if (sizeof(int) == 8) - return OSAtomicOr64Barrier(i, p); -# endif - else - abort(); + return OSAtomicOr32Barrier(i, p); #else # error of_atomic_or_int not implemented! #endif } @@ -529,18 +488,11 @@ return i; #elif defined(OF_HAVE_GCC_ATOMIC_OPS) return __sync_and_and_fetch(p, i); #elif defined(OF_HAVE_OSATOMIC) - if (sizeof(int) == 4) - return OSAtomicAnd32Barrier(i, p); -# ifdef OF_HAVE_OSATOMIC_64 - else if (sizeof(int) == 8) - return OSAtomicAnd64Barrier(i, p); -# endif - else - abort(); + return OSAtomicAnd32Barrier(i, p); #else # error of_atomic_and_int not implemented! #endif } @@ -612,18 +564,11 @@ return i; #elif defined(OF_HAVE_GCC_ATOMIC_OPS) return __sync_xor_and_fetch(p, i); #elif defined(OF_HAVE_OSATOMIC) - if (sizeof(int) == 4) - return OSAtomicXor32Barrier(i, p); -# ifdef OF_HAVE_OSATOMIC_64 - else if (sizeof(int) == 8) - return OSAtomicXor64Barrier(i, p); -# endif - else - abort(); + return OSAtomicXor32Barrier(i, p); #else # error of_atomic_xor_int not implemented! #endif }