ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/CBOR-XS/ecb.h
(Generate patch)

Comparing CBOR-XS/ecb.h (file contents):
Revision 1.5 by root, Tue Dec 10 13:54:40 2013 UTC vs.
Revision 1.6 by root, Sun Jan 5 14:24:54 2014 UTC

177 * #define ECB_MEMORY_FENCE __c11_atomic_thread_fence (__ATOMIC_SEQ_CST) 177 * #define ECB_MEMORY_FENCE __c11_atomic_thread_fence (__ATOMIC_SEQ_CST)
178 */ 178 */
179 179
180 #elif ECB_GCC_VERSION(4,4) || defined __INTEL_COMPILER || defined __clang__ 180 #elif ECB_GCC_VERSION(4,4) || defined __INTEL_COMPILER || defined __clang__
181 #define ECB_MEMORY_FENCE __sync_synchronize () 181 #define ECB_MEMORY_FENCE __sync_synchronize ()
182 #elif _MSC_VER >= 1500 /* VC++ 2008 */
183 /* apparently, microsoft broke all the memory barrier stuff in Visual Studio 2008... */
184 #pragma intrinsic(_ReadBarrier,_WriteBarrier,_ReadWriteBarrier)
185 #define ECB_MEMORY_FENCE _ReadWriteBarrier (); MemoryBarrier()
186 #define ECB_MEMORY_FENCE_ACQUIRE _ReadWriteBarrier (); MemoryBarrier() /* according to msdn, _ReadBarrier is not a load fence */
187 #define ECB_MEMORY_FENCE_RELEASE _WriteBarrier (); MemoryBarrier()
182 #elif _MSC_VER >= 1400 /* VC++ 2005 */ 188 #elif _MSC_VER >= 1400 /* VC++ 2005 */
183 #pragma intrinsic(_ReadBarrier,_WriteBarrier,_ReadWriteBarrier) 189 #pragma intrinsic(_ReadBarrier,_WriteBarrier,_ReadWriteBarrier)
184 #define ECB_MEMORY_FENCE _ReadWriteBarrier () 190 #define ECB_MEMORY_FENCE _ReadWriteBarrier ()
185 #define ECB_MEMORY_FENCE_ACQUIRE _ReadWriteBarrier () /* according to msdn, _ReadBarrier is not a load fence */ 191 #define ECB_MEMORY_FENCE_ACQUIRE _ReadWriteBarrier () /* according to msdn, _ReadBarrier is not a load fence */
186 #define ECB_MEMORY_FENCE_RELEASE _WriteBarrier () 192 #define ECB_MEMORY_FENCE_RELEASE _WriteBarrier ()

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines