[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