mirror of
https://github.com/boostorg/interprocess.git
synced 2026-01-19 04:12:13 +00:00
Provide support for the Cray C++ compiler. The Cray compiler defines __GNUC__
and generally supports gnu extensions to C and C++. It does not, however, support inline assembly. The changes here are to avoid inline assembly when _CRAYC is asserted in the preprocessor.
This commit is contained in:
@@ -93,7 +93,7 @@ inline boost::uint32_t atomic_cas32
|
||||
} //namespace interprocess{
|
||||
} //namespace boost{
|
||||
|
||||
#elif defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__))
|
||||
#elif defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__)) && !defined(_CRAYC)
|
||||
|
||||
namespace boost {
|
||||
namespace interprocess {
|
||||
|
||||
@@ -37,7 +37,7 @@ extern "C" void _mm_pause();
|
||||
|
||||
#define BOOST_INTERPROCESS_SMT_PAUSE _mm_pause();
|
||||
|
||||
#elif defined(__GNUC__) && ( defined(__i386__) || defined(__x86_64__) )
|
||||
#elif defined(__GNUC__) && ( defined(__i386__) || defined(__x86_64__) ) && !defined(_CRAYC)
|
||||
|
||||
#define BOOST_INTERPROCESS_SMT_PAUSE __asm__ __volatile__( "rep; nop" : : : "memory" );
|
||||
|
||||
|
||||
Reference in New Issue
Block a user