diff --git a/Source/Core/Common/Src/Thread.cpp b/Source/Core/Common/Src/Thread.cpp index df7c8d50d9..db02b4598e 100644 --- a/Source/Core/Common/Src/Thread.cpp +++ b/Source/Core/Common/Src/Thread.cpp @@ -345,17 +345,16 @@ void Event::Wait() pthread_mutex_unlock(&mutex_); } -int InterlockedExchangeAdd( int* Addend, int Increment ) +int InterlockedExchangeAdd(int *Addend, int Increment) { - #if defined(__GNUC__) && defined (__GNUC_MINOR__) && ((4 < __GNUC__) || (4 == __GNUC__ && 1 <= __GNUC_MINOR__)) return __sync_add_and_fetch(Addend, Increment); #else +#error Sorry - GCC versions that don't support __sync_add_and_fetch are not supported. // TODO support old gcc #endif } #endif - } // end of namespace Common diff --git a/Source/Core/Common/Src/Thread.h b/Source/Core/Common/Src/Thread.h index 3cc608f335..e71306baf1 100644 --- a/Source/Core/Common/Src/Thread.h +++ b/Source/Core/Common/Src/Thread.h @@ -112,9 +112,12 @@ class Event void SleepCurrentThread(int ms); -void SetCurrentThreadName(const char* name); +void SetCurrentThreadName(const char *name); + +#ifndef _WIN32 +int InterlockedExchangeAdd(int *Addend, int Increment); +#endif -int InterlockedExchangeAdd( int* Addend, int Increment ); } // end of namespace Common