comparison DEPENDENCIES/generic/include/boost/interprocess/sync/spin/wait.hpp @ 101:c530137014c0

Update Boost headers (1.58.0)
author Chris Cannam
date Mon, 07 Sep 2015 11:12:49 +0100
parents 2665513ce2d3
children
comparison
equal deleted inserted replaced
100:793467b5e61c 101:c530137014c0
13 //Many thanks to Peter Dimov. 13 //Many thanks to Peter Dimov.
14 14
15 #ifndef BOOST_INTERPROCESS_SYNC_WAIT_HPP_INCLUDED 15 #ifndef BOOST_INTERPROCESS_SYNC_WAIT_HPP_INCLUDED
16 #define BOOST_INTERPROCESS_SYNC_WAIT_HPP_INCLUDED 16 #define BOOST_INTERPROCESS_SYNC_WAIT_HPP_INCLUDED
17 17
18 #if defined(_MSC_VER) && (_MSC_VER >= 1020) 18 #ifndef BOOST_CONFIG_HPP
19 # include <boost/config.hpp>
20 #endif
21 #
22 #if defined(BOOST_HAS_PRAGMA_ONCE)
19 # pragma once 23 # pragma once
20 #endif 24 #endif
21 25
22 #include <boost/interprocess/detail/config_begin.hpp> 26 #include <boost/interprocess/detail/config_begin.hpp>
23 #include <boost/interprocess/detail/workaround.hpp> 27 #include <boost/interprocess/detail/workaround.hpp>
28 #include <iostream> 32 #include <iostream>
29 #endif 33 #endif
30 34
31 // BOOST_INTERPROCESS_SMT_PAUSE 35 // BOOST_INTERPROCESS_SMT_PAUSE
32 36
33 #if defined(_MSC_VER) && _MSC_VER >= 1310 && ( defined(_M_IX86) || defined(_M_X64) ) 37 #if defined(_MSC_VER) && ( defined(_M_IX86) || defined(_M_X64) )
34 38
35 extern "C" void _mm_pause(); 39 extern "C" void _mm_pause();
36 #pragma intrinsic( _mm_pause ) 40 #pragma intrinsic( _mm_pause )
37 41
38 #define BOOST_INTERPROCESS_SMT_PAUSE _mm_pause(); 42 #define BOOST_INTERPROCESS_SMT_PAUSE _mm_pause();
39 43
40 #elif defined(__GNUC__) && ( defined(__i386__) || defined(__x86_64__) ) 44 #elif defined(__GNUC__) && ( defined(__i386__) || defined(__x86_64__) ) && !defined(_CRAYC)
41 45
42 #define BOOST_INTERPROCESS_SMT_PAUSE __asm__ __volatile__( "rep; nop" : : : "memory" ); 46 #define BOOST_INTERPROCESS_SMT_PAUSE __asm__ __volatile__( "rep; nop" : : : "memory" );
43 47
44 #endif 48 #endif
45 49