Enable use of atomic store/load on clang.

This commit is contained in:
Jonathan G Rennison
2016-09-08 18:40:08 +01:00
parent 9a7c1911fc
commit b8a89437a1
2 changed files with 2 additions and 2 deletions

View File

@@ -189,7 +189,7 @@ LinkGraphJob::~LinkGraphJob()
*/ */
bool LinkGraphJob::IsJobCompleted() const bool LinkGraphJob::IsJobCompleted() const
{ {
#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)) #if defined(__GNUC__) || defined(__clang__)
return __atomic_load_n(&job_completed, __ATOMIC_RELAXED); return __atomic_load_n(&job_completed, __ATOMIC_RELAXED);
#else #else
return job_completed; return job_completed;

View File

@@ -108,7 +108,7 @@ void LinkGraphSchedule::JoinNext()
* This is just a hint variable to avoid performing the join excessively early and blocking the main thread. * This is just a hint variable to avoid performing the join excessively early and blocking the main thread.
*/ */
#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)) #if defined(__GNUC__) || defined(__clang__)
__atomic_store_n(&(job->job_completed), true, __ATOMIC_RELAXED); __atomic_store_n(&(job->job_completed), true, __ATOMIC_RELAXED);
#else #else
job->job_completed = true; job->job_completed = true;