Author: tkreuzer Date: Sun May 30 15:02:29 2010 New Revision: 47442 URL: http://svn.reactos.org/svn/reactos?rev=47442&view=rev Log: [intrin_x86.h] - cast return value of __sync_val_compare_and_swap to make clang happy - add __cdecl to a number of intrinsics to make them (hopefully) compatible with crt header declarations.
Modified: trunk/reactos/include/crt/mingw32/intrin_x86.h Modified: trunk/reactos/include/crt/mingw32/intrin_x86.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/crt/mingw32/intrin_x86.h?rev=47442&r1=47441&r2=47442&view=diff ============================================================================== --- trunk/reactos/include/crt/mingw32/intrin_x86.h [iso-8859-1] (original) +++ trunk/reactos/include/crt/mingw32/intrin_x86.h [iso-8859-1] Sun May 30 15:02:29 2010 @@ -114,7 +114,7 @@ __INTRIN_INLINE void * _InterlockedCompareExchangePointer(void * volatile * const Destination, void * const Exchange, void * const Comperand) { - return __sync_val_compare_and_swap(Destination, Comperand, Exchange); + return (void *)__sync_val_compare_and_swap(Destination, Comperand, Exchange); } __INTRIN_INLINE long _InterlockedExchange(volatile long * const Target, const long Value) @@ -137,7 +137,7 @@ { /* NOTE: ditto */ __sync_synchronize(); - return __sync_lock_test_and_set(Target, Value); + return (void *)__sync_lock_test_and_set(Target, Value); } __INTRIN_INLINE long _InterlockedExchangeAdd16(volatile short * const Addend, const short Value) @@ -879,14 +879,14 @@ return retval; } -__INTRIN_INLINE unsigned int _rotl(unsigned int value, int shift) +__INTRIN_INLINE unsigned int __cdecl _rotl(unsigned int value, int shift) { unsigned long retval; __asm__("roll %b[shift], %k[retval]" : [retval] "=rm" (retval) : "[retval]" (value), [shift] "Nc" (shift)); return retval; } -__INTRIN_INLINE unsigned int _rotr(unsigned int value, int shift) +__INTRIN_INLINE unsigned int __cdecl _rotr(unsigned int value, int shift) { unsigned long retval; __asm__("rorl %b[shift], %k[retval]" : [retval] "=rm" (retval) : "[retval]" (value), [shift] "Nc" (shift)); @@ -956,14 +956,14 @@ return retval; } -__INTRIN_INLINE unsigned short _byteswap_ushort(unsigned short value) +__INTRIN_INLINE unsigned short __cdecl _byteswap_ushort(unsigned short value) { unsigned short retval; __asm__("rorw $8, %w[retval]" : [retval] "=rm" (retval) : "[retval]" (value)); return retval; } -__INTRIN_INLINE unsigned long _byteswap_ulong(unsigned long value) +__INTRIN_INLINE unsigned long __cdecl _byteswap_ulong(unsigned long value) { unsigned long retval; __asm__("bswapl %[retval]" : [retval] "=r" (retval) : "[retval]" (value)); @@ -971,7 +971,7 @@ } #ifdef _M_AMD64 -__INTRIN_INLINE unsigned __int64 _byteswap_uint64(unsigned __int64 value) +__INTRIN_INLINE unsigned __int64 __cdecl _byteswap_uint64(unsigned __int64 value) { unsigned __int64 retval; __asm__("bswapq %[retval]" : [retval] "=r" (retval) : "[retval]" (value));