tsan: fix a bug
authorDmitry Vyukov <dvyukov@google.com>
Thu, 17 Jan 2013 12:59:10 +0000 (12:59 +0000)
committerDmitry Vyukov <dvyukov@google.com>
Thu, 17 Jan 2013 12:59:10 +0000 (12:59 +0000)
llvm-svn: 172712

compiler-rt/lib/sanitizer_common/sanitizer_lfstack.h

index e0c88a9..c26e45d 100644 (file)
@@ -36,7 +36,7 @@ struct LFStack {
   void Push(T *p) {
     u64 cmp = atomic_load(&head_, memory_order_relaxed);
     for (;;) {
-      u64 cnt = (cmp & kCounterBits) + kCounterInc;
+      u64 cnt = (cmp & kCounterMask) + kCounterInc;
       u64 xch = (u64)(uptr)p | cnt;
       p->next = (T*)(uptr)(cmp & kPtrMask);
       if (atomic_compare_exchange_weak(&head_, &cmp, xch,