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