Index: lockfree/detail/atomic.hpp =================================================================== --- lockfree/detail/atomic.hpp (revision 80619) +++ lockfree/detail/atomic.hpp (working copy) @@ -10,9 +10,12 @@ #include // at this time, neither gcc (4.7) not clang (3.2) completely implement atomic<> +// MSVC has it from version 2012 onwards. +#if !defined(_MSC_VER) || _MSC_VER < 1700 #define BOOST_LOCKFREE_NO_HDR_ATOMIC +#endif -#if (__cplusplus < 201103L) || defined(BOOST_LOCKFREE_NO_HDR_ATOMIC) +#if defined(BOOST_LOCKFREE_NO_HDR_ATOMIC) #include #else #include @@ -22,7 +25,7 @@ namespace lockfree { namespace detail { -#if (__cplusplus < 201103L) || defined(BOOST_LOCKFREE_NO_HDR_ATOMIC) +#if defined(BOOST_LOCKFREE_NO_HDR_ATOMIC) using boost::atomic; using boost::memory_order_acquire; using boost::memory_order_consume; Index: lockfree/detail/freelist.hpp =================================================================== --- lockfree/detail/freelist.hpp (revision 80619) +++ lockfree/detail/freelist.hpp (working copy) @@ -13,6 +13,7 @@ #include #include +#include #include #include