Moved gcc_atomic.hpp location.

This commit is contained in:
Takatoshi Kondo
2016-05-30 09:55:16 +09:00
parent 7eb8c8221a
commit b68c073d1b
3 changed files with 2 additions and 0 deletions

View File

@@ -200,6 +200,7 @@ nobase_include_HEADERS += \
../include/msgpack/cpp_config_decl.hpp \
../include/msgpack/fbuffer.hpp \
../include/msgpack/fbuffer_decl.hpp \
../include/msgpack/gcc_atomic.hpp \
../include/msgpack/iterator.hpp \
../include/msgpack/iterator_decl.hpp \
../include/msgpack/meta.hpp \

View File

@@ -1,33 +0,0 @@
//
// MessagePack for C++ old gcc workaround for atomic operation
//
// Copyright (C) 2008-2013 FURUHASHI Sadayuki and KONDO Takatoshi
//
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
//
#ifndef MSGPACK_GCC_ATOMIC_HPP
#define MSGPACK_GCC_ATOMIC_HPP
#ifdef ENABLE_GCC_CXX_ATOMIC
#if defined(__GNUC__) && ((__GNUC__*10 + __GNUC_MINOR__) < 41)
#include "msgpack/gcc_atomic.h"
#include <bits/atomicity.h>
int _msgpack_sync_decr_and_fetch(volatile _msgpack_atomic_counter_t* ptr)
{
return __gnu_cxx::__exchange_and_add(ptr, -1) - 1;
}
int _msgpack_sync_incr_and_fetch(volatile _msgpack_atomic_counter_t* ptr)
{
return __gnu_cxx::__exchange_and_add(ptr, 1) + 1;
}
#endif // old gcc workaround
#endif // ENABLE_GCC_CXX_ATOMIC
#endif /* gcc_atomic.hpp */