$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
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