@@ -80,11 +80,11 @@ static OF_INLINE void* of_atomic_add_ptr(void* volatile *p, intptr_t i) { #if !defined(OF_THREADS) - return (*p += i); + return (*(char* volatile*)p += i); #elif defined(OF_X86_ASM) || defined(OF_AMD64_ASM) __asm__ ( "lock\n\t" "xaddl %0, %2\n\t" "addl %1, %0" @@ -162,11 +162,11 @@ static OF_INLINE void* of_atomic_sub_ptr(void* volatile *p, intptr_t i) { #if !defined(OF_THREADS) - return (*p -= i); + return (*(char* volatile*)p -= i); #elif defined(OF_X86_ASM) || defined(OF_AMD64_ASM) __asm__ ( "negl %0\n\t" "lock\n\t" "xaddl %0, %2\n\t"