Author: akhaldi Date: Sun Mar 2 20:42:26 2014 New Revision: 62389
URL: http://svn.reactos.org/svn/reactos?rev=62389&view=rev Log: [CRT/INTRIN_X86] * In Clang these are built-ins.
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_... ============================================================================== --- trunk/reactos/include/crt/mingw32/intrin_x86.h [iso-8859-1] (original) +++ trunk/reactos/include/crt/mingw32/intrin_x86.h [iso-8859-1] Sun Mar 2 20:42:26 2014 @@ -186,10 +186,12 @@ return __sync_val_compare_and_swap(Destination, Comperand, Exchange); }
+#ifndef __clang__ __INTRIN_INLINE long _InterlockedCompareExchange(volatile long * const Destination, const long Exchange, const long Comperand) { return __sync_val_compare_and_swap(Destination, Comperand, Exchange); } +#endif
__INTRIN_INLINE void * _InterlockedCompareExchangePointer(void * volatile * const Destination, void * const Exchange, void * const Comperand) { @@ -224,10 +226,12 @@ return __sync_fetch_and_add(Addend, Value); }
+#ifndef __clang__ __INTRIN_INLINE long _InterlockedExchangeAdd(volatile long * const Addend, const long Value) { return __sync_fetch_and_add(Addend, Value); } +#endif
#if defined(_M_AMD64) __INTRIN_INLINE long long _InterlockedExchangeAdd64(volatile long long * const Addend, const long long Value) @@ -302,6 +306,7 @@ } #endif
+#ifndef __clang__ __INTRIN_INLINE long _InterlockedDecrement(volatile long * const lpAddend) { return __sync_sub_and_fetch(lpAddend, 1); @@ -311,6 +316,7 @@ { return __sync_add_and_fetch(lpAddend, 1); } +#endif
__INTRIN_INLINE short _InterlockedDecrement16(volatile short * const lpAddend) {