1 | #ifndef BOOST_SMART_PTR_DETAIL_SP_HAS_GCC_INTRINSICS_HPP_INCLUDED |
2 | #define BOOST_SMART_PTR_DETAIL_SP_HAS_GCC_INTRINSICS_HPP_INCLUDED |
3 | |
4 | // MS compatible compilers support #pragma once |
5 | |
6 | #if defined(_MSC_VER) && (_MSC_VER >= 1020) |
7 | # pragma once |
8 | #endif |
9 | |
10 | |
11 | // boost/smart_ptr/detail/sp_has_gcc_intrinsics.hpp |
12 | // |
13 | // Copyright 2020 Peter Dimov |
14 | // Distributed under the Boost Software License, Version 1.0. |
15 | // https://www.boost.org/LICENSE_1_0.txt |
16 | // |
17 | // Defines the BOOST_SP_HAS_GCC_INTRINSICS macro if the __atomic_* |
18 | // intrinsics are available. |
19 | |
20 | |
21 | #if defined( __ATOMIC_RELAXED ) && defined( __ATOMIC_ACQUIRE ) && defined( __ATOMIC_RELEASE ) && defined( __ATOMIC_ACQ_REL ) |
22 | |
23 | # define BOOST_SP_HAS_GCC_INTRINSICS |
24 | |
25 | #endif |
26 | |
27 | #endif // #ifndef BOOST_SMART_PTR_DETAIL_SP_HAS_GCC_INTRINSICS_HPP_INCLUDED |
28 | |