I just fail today.
authorOwen Anderson <resistor@mac.com>
Wed, 20 May 2009 19:01:50 +0000 (19:01 +0000)
committerOwen Anderson <resistor@mac.com>
Wed, 20 May 2009 19:01:50 +0000 (19:01 +0000)
Hopefully this fixes the last build errors on systems with GCC < 4.1.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72179 91177308-0d34-0410-b5e6-96231b3b80d8

lib/System/Atomic.cpp

index e720385e5f0bfe2978717972bd32ebe2e2d011d9..eee90e22917c747851a2059c2d5ba605eb551454 100644 (file)
@@ -38,9 +38,9 @@ sys::cas_flag sys::CompareAndSwap(volatile sys::cas_flag* ptr,
                                        sys::cas_flag new_value,
                                        sys::cas_flag old_value) {
 #if LLVM_MULTITHREADED==0
-  sys::cas_flag result = *dest;
-  if (result == c)
-    *dest = exc;
+  sys::cas_flag result = *ptr;
+  if (result == old_value)
+    *ptr = new_value;
   return result;
 #elif defined(__GNUC__)
   return __sync_val_compare_and_swap(ptr, old_value, new_value);