[llvm-commits] [compiler-rt] r171104 - /compiler-rt/trunk/lib/sanitizer_common/sanitizer_atomic_msvc.h

Alexey Samsonov samsonov at google.com
Wed Dec 26 01:25:09 PST 2012


Author: samsonov
Date: Wed Dec 26 03:25:09 2012
New Revision: 171104

URL: http://llvm.org/viewvc/llvm-project?rev=171104&view=rev
Log:
[Sanitizer] attempt to fix InterlockedCompareExchangePointer intrinsic on MSVC

Modified:
    compiler-rt/trunk/lib/sanitizer_common/sanitizer_atomic_msvc.h

Modified: compiler-rt/trunk/lib/sanitizer_common/sanitizer_atomic_msvc.h
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_atomic_msvc.h?rev=171104&r1=171103&r2=171104&view=diff
==============================================================================
--- compiler-rt/trunk/lib/sanitizer_common/sanitizer_atomic_msvc.h (original)
+++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_atomic_msvc.h Wed Dec 26 03:25:09 2012
@@ -24,9 +24,10 @@
 extern "C" long _InterlockedExchangeAdd(  // NOLINT
     long volatile * Addend, long Value);  // NOLINT
 #pragma intrinsic(_InterlockedExchangeAdd)
-extern "C" void *InterlockedCompareExchangePointer(
+extern "C" void *_InterlockedCompareExchangePointer(
     void *volatile *Destination,
     void *Exchange, void *Comparand);
+#pragma intrinsic(_InterlockedCompareExchangePointer)
 
 namespace __sanitizer {
 
@@ -115,7 +116,7 @@
                                            uptr xchg,
                                            memory_order mo) {
   uptr cmpv = *cmp;
-  uptr prev = (uptr)InterlockedCompareExchangePointer(
+  uptr prev = (uptr)_InterlockedCompareExchangePointer(
       (void*volatile*)&a->val_dont_use, (void*)xchg, (void*)cmpv);
   if (prev == cmpv)
     return true;





More information about the llvm-commits mailing list