mirror of
https://github.com/RPCS3/rpcs3.git
synced 2024-12-28 00:18:23 +00:00
Compilation fix
This commit is contained in:
parent
f14b712f07
commit
7037da80cb
@ -444,17 +444,6 @@ static __forceinline u128 sync_fetch_and_xor(volatile u128* dest, u128 value)
|
||||
}
|
||||
}
|
||||
|
||||
#if !defined(_MSC_VER)
|
||||
#define sync_val_compare_and_swap __sync_val_compare_and_swap
|
||||
#define sync_bool_compare_and_swap __sync_bool_compare_and_swap
|
||||
#define sync_lock_test_and_set __sync_lock_test_and_set
|
||||
#define sync_fetch_and_add __sync_fetch_and_add
|
||||
#define sync_fetch_and_sub __sync_fetch_and_sub
|
||||
#define sync_fetch_and_or __sync_fetch_and_or
|
||||
#define sync_fetch_and_and __sync_fetch_and_and
|
||||
#define sync_fetch_and_xor __sync_fetch_and_xor
|
||||
#endif
|
||||
|
||||
#define re16(val) _byteswap_ushort(val)
|
||||
#define re32(val) _byteswap_ulong(val)
|
||||
#define re64(val) _byteswap_uint64(val)
|
||||
|
@ -78,6 +78,46 @@ int clock_gettime(int foo, struct timespec *ts);
|
||||
|
||||
#endif /* __APPLE__ */
|
||||
|
||||
template<typename T> static inline typename std::enable_if<std::is_arithmetic<T>::value, T>::type sync_val_compare_and_swap(volatile T* dest, T comp, T exch)
|
||||
{
|
||||
return __sync_val_compare_and_swap(dest, comp, exch);
|
||||
}
|
||||
|
||||
template<typename T> static inline typename std::enable_if<std::is_arithmetic<T>::value, bool>::type sync_bool_compare_and_swap(volatile T* dest, T comp, T exch)
|
||||
{
|
||||
return __sync_bool_compare_and_swap(dest, comp, exch);
|
||||
}
|
||||
|
||||
template<typename T> static inline typename std::enable_if<std::is_arithmetic<T>::value, T>::type sync_lock_test_and_set(volatile T* dest, T value)
|
||||
{
|
||||
return __sync_lock_test_and_set(dest, value);
|
||||
}
|
||||
|
||||
template<typename T> static inline typename std::enable_if<std::is_arithmetic<T>::value, T>::type sync_lock_fetch_and_add(volatile T* dest, T value)
|
||||
{
|
||||
return __sync_lock_fetch_and_add(dest, value);
|
||||
}
|
||||
|
||||
template<typename T> static inline typename std::enable_if<std::is_arithmetic<T>::value, T>::type sync_lock_fetch_and_sub(volatile T* dest, T value)
|
||||
{
|
||||
return __sync_lock_fetch_and_sub(dest, value);
|
||||
}
|
||||
|
||||
template<typename T> static inline typename std::enable_if<std::is_arithmetic<T>::value, T>::type sync_lock_fetch_and_or(volatile T* dest, T value)
|
||||
{
|
||||
return __sync_lock_fetch_and_or(dest, value);
|
||||
}
|
||||
|
||||
template<typename T> static inline typename std::enable_if<std::is_arithmetic<T>::value, T>::type sync_lock_fetch_and_and(volatile T* dest, T value)
|
||||
{
|
||||
return __sync_lock_fetch_and_and(dest, value);
|
||||
}
|
||||
|
||||
template<typename T> static inline typename std::enable_if<std::is_arithmetic<T>::value, T>::type sync_lock_fetch_and_xor(volatile T* dest, T value)
|
||||
{
|
||||
return __sync_lock_fetch_and_xor(dest, value);
|
||||
}
|
||||
|
||||
#endif /* __GNUG__ */
|
||||
|
||||
#if defined(_MSC_VER)
|
||||
|
Loading…
Reference in New Issue
Block a user