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

Comparing libecb/ecb.h (file contents):
Revision 1.60 by root, Thu Aug 4 13:35:46 2011 UTC vs.
Revision 1.61 by root, Thu Aug 4 14:27:40 2011 UTC

87 #endif 87 #endif
88 #endif 88 #endif
89#endif 89#endif
90 90
91#ifndef ECB_MEMORY_FENCE 91#ifndef ECB_MEMORY_FENCE
92 #if ECB_GCC_VERSION(4,4) 92 #if ECB_GCC_VERSION(4,4) || defined(__INTEL_COMPILER)
93 #define ECB_MEMORY_FENCE __sync_synchronize () 93 #define ECB_MEMORY_FENCE __sync_synchronize ()
94 #define ECB_MEMORY_FENCE_ACQUIRE ({ char dummy = 0; __sync_lock_test_and_set (&dummy, 1); }) 94 #define ECB_MEMORY_FENCE_ACQUIRE __sync_synchronize () /* ({ char dummy = 0; __sync_lock_test_and_set (&dummy, 1); }) */
95 #define ECB_MEMORY_FENCE_RELEASE ({ char dummy = 1; __sync_lock_release (&dummy ); }) 95 #define ECB_MEMORY_FENCE_RELEASE __sync_synchronize () /* ({ char dummy = 1; __sync_lock_release (&dummy ); }) */
96 #elif _MSC_VER >= 1400 /* VC++ 2005 */ 96 #elif _MSC_VER >= 1400 /* VC++ 2005 */
97 #pragma intrinsic(_ReadBarrier,_WriteBarrier,_ReadWriteBarrier) 97 #pragma intrinsic(_ReadBarrier,_WriteBarrier,_ReadWriteBarrier)
98 #define ECB_MEMORY_FENCE _ReadWriteBarrier () 98 #define ECB_MEMORY_FENCE _ReadWriteBarrier ()
99 #define ECB_MEMORY_FENCE_ACQUIRE _ReadWriteBarrier () /* according to msdn, _ReadBarrier is not a load fence */ 99 #define ECB_MEMORY_FENCE_ACQUIRE _ReadWriteBarrier () /* according to msdn, _ReadBarrier is not a load fence */
100 #define ECB_MEMORY_FENCE_RELEASE _WriteBarrier () 100 #define ECB_MEMORY_FENCE_RELEASE _WriteBarrier ()

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines