From bcc2e45840941752ae54cf91c0abb013fbc19178 Mon Sep 17 00:00:00 2001 From: Oscar Fuentes Date: Mon, 7 Dec 2009 05:29:59 +0000 Subject: Fixes the Atomic implementation if compiled by MSVC compiler. sys::cas_flag should be long on this platform, InterlockedAdd() is defined only for the Itanium architecture (according to MSDN). Patch by Michael Beck! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90748 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/System/Atomic.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'include') diff --git a/include/llvm/System/Atomic.h b/include/llvm/System/Atomic.h index 0c05d696e3..fc19369d11 100644 --- a/include/llvm/System/Atomic.h +++ b/include/llvm/System/Atomic.h @@ -20,7 +20,11 @@ namespace llvm { namespace sys { void MemoryFence(); +#ifdef _MSC_VER + typedef long cas_flag; +#else typedef uint32_t cas_flag; +#endif cas_flag CompareAndSwap(volatile cas_flag* ptr, cas_flag new_value, cas_flag old_value); -- cgit v1.2.3-70-g09d2