diff options
Diffstat (limited to 'cpp/include/IceUtil/Shared.h')
-rw-r--r-- | cpp/include/IceUtil/Shared.h | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/cpp/include/IceUtil/Shared.h b/cpp/include/IceUtil/Shared.h index cc6d57af51e..b9390ab0c66 100644 --- a/cpp/include/IceUtil/Shared.h +++ b/cpp/include/IceUtil/Shared.h @@ -12,7 +12,9 @@ #include <IceUtil/Config.h> -#if defined(ICE_USE_MUTEX_SHARED) +#if defined(ICE_CPP11) +# include <atomic> +#elif defined(ICE_USE_MUTEX_SHARED) # include <IceUtil/Mutex.h> @@ -29,10 +31,6 @@ # define ICE_HAS_GCC_BUILTINS -#elif (defined(__APPLE__) || defined(__linux) || defined(__FreeBSD__)) && (defined(__i386) || defined(__x86_64)) && !defined(__ICC) - -# define ICE_HAS_ATOMIC_FUNCTIONS - #elif defined(_WIN32) // Nothing to include #else @@ -152,10 +150,12 @@ public: protected: -#if defined(_WIN32) +#if defined(ICE_CPP11) + std::atomic_int _ref; +#elif defined(_WIN32) LONG _ref; -#elif defined(ICE_HAS_ATOMIC_FUNCTIONS) || defined(ICE_HAS_GCC_BUILTINS) - volatile int _ref; +#elif defined(ICE_HAS_GCC_BUILTINS) + int _ref; #else int _ref; Mutex _mutex; |