|
Boost-Commit : |
From: matt_calabrese_at_[hidden]
Date: 2007-06-29 14:03:18
Author: matt_calabrese
Date: 2007-06-29 14:03:17 EDT (Fri, 29 Jun 2007)
New Revision: 7314
URL: http://svn.boost.org/trac/boost/changeset/7314
Log:
Tests now passing on Windows 32-bit, GCC targetting x86, Windows Intel Compiler targeting x86.
Text files modified:
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/implementation_info/operation_support.hpp | 41 ++++++++++++++++++++++++++++++++++++++-
1 files changed, 39 insertions(+), 2 deletions(-)
Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/implementation_info/operation_support.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/implementation_info/operation_support.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/implementation_info/operation_support.hpp 2007-06-29 14:03:17 EDT (Fri, 29 Jun 2007)
@@ -274,14 +274,51 @@
#endif // End architecture detection
- #else // Else: Not MSVC
-
+ #elif defined( __INTEL_COMPILER ) // Else: if intel compiler
+
+ #define BOOST_ACT_INTERLOCKED_DETAIL_LOAD_STYLE volatile_load_acquire
+ #define BOOST_ACT_INTERLOCKED_DETAIL_STORE_STYLE volatile_store_release
+
+ #if defined( _M_AMD64 ) || defined( _M_X64 ) // Intel 64
+
+ // ToDo: Remove this error -- just don't define support
+ #error No support for Intel 64 yet.
+
+ // Else: if IA64
+ #elif defined( __INITIAL_POINTER_SIZE ) && ( __INITIAL_POINTER_SIZE == 64 )
+
+ #define BOOST_ACT_INTERLOCKED_DETAIL_RW_ORDERING_SUPPORT \
+ BOOST_ACT_INTERLOCKED_DETAIL_ITANIUM_RW_ORDERING_SUPPORT
+
+ #define BOOST_ACT_INTERLOCKED_DETAIL_FENCE_SUPPORT \
+ BOOST_ACT_INTERLOCKED_DETAIL_ITANIUM_FENCE_SUPPORT
+
+ #elif defined( __QMSPP_ ) // Else: if x86
+
+ #define BOOST_ACT_INTERLOCKED_DETAIL_RW_ORDERING_SUPPORT \
+ BOOST_ACT_INTERLOCKED_DETAIL_X86_RW_ORDERING_SUPPORT
+
+ #define BOOST_ACT_INTERLOCKED_DETAIL_RW_ORDERING_SUPPORT \
+ BOOST_ACT_INTERLOCKED_DETAIL_X86_RW_ORDERING_SUPPORT
+
+ #else
+
+ // ToDo: Remove this error -- just don't define support
+ #error Unknown target architecture with Intel Compiler.
+
+ #endif
+
+ #else // Else: Default to basic Windows support
+
#define BOOST_ACT_INTERLOCKED_DETAIL_LOAD_STYLE volatile_load_unordered
#define BOOST_ACT_INTERLOCKED_DETAIL_STORE_STYLE volatile_store_unordered
#define BOOST_ACT_INTERLOCKED_DETAIL_FENCE_SUPPORT \
BOOST_ACT_INTERLOCKED_DETAIL_NO_FENCE_SUPPORT
+ #define BOOST_ACT_INTERLOCKED_DETAIL_RW_ORDERING_SUPPORT \
+ BOOST_ACT_INTERLOCKED_DETAIL_X86_RW_ORDERING_SUPPORT
+
#endif // End Compiler detection
#if WINVER < 0x0600 // Windows prior to vista
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk