config.hpp 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. #ifndef BOOST_SYSTEM_DETAIL_CONFIG_HPP_INCLUDED
  2. #define BOOST_SYSTEM_DETAIL_CONFIG_HPP_INCLUDED
  3. // Copyright 2018 Peter Dimov
  4. //
  5. // Distributed under the Boost Software License, Version 1.0. (See accompanying
  6. // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  7. //
  8. // See http://www.boost.org/libs/system for documentation.
  9. #include <boost/config.hpp>
  10. #include <boost/config/workaround.hpp>
  11. // BOOST_SYSTEM_HAS_SYSTEM_ERROR
  12. #if !defined(BOOST_NO_CXX11_HDR_SYSTEM_ERROR)
  13. # define BOOST_SYSTEM_HAS_SYSTEM_ERROR
  14. #endif
  15. #if BOOST_WORKAROUND(BOOST_GCC, < 40600)
  16. // g++ 4.4's <map> is not good enough
  17. # undef BOOST_SYSTEM_HAS_SYSTEM_ERROR
  18. #endif
  19. // BOOST_SYSTEM_NOEXCEPT
  20. // Retained for backward compatibility
  21. #define BOOST_SYSTEM_NOEXCEPT BOOST_NOEXCEPT
  22. // BOOST_SYSTEM_HAS_CONSTEXPR
  23. #if !defined(BOOST_NO_CXX14_CONSTEXPR)
  24. # define BOOST_SYSTEM_HAS_CONSTEXPR
  25. #endif
  26. #if BOOST_WORKAROUND(BOOST_GCC, < 60000)
  27. # undef BOOST_SYSTEM_HAS_CONSTEXPR
  28. #endif
  29. #if defined(BOOST_SYSTEM_HAS_CONSTEXPR)
  30. # define BOOST_SYSTEM_CONSTEXPR constexpr
  31. #else
  32. # define BOOST_SYSTEM_CONSTEXPR
  33. #endif
  34. // BOOST_SYSTEM_REQUIRE_CONST_INIT
  35. #define BOOST_SYSTEM_REQUIRE_CONST_INIT
  36. #if defined(__has_cpp_attribute)
  37. #if __has_cpp_attribute(clang::require_constant_initialization)
  38. # undef BOOST_SYSTEM_REQUIRE_CONST_INIT
  39. # define BOOST_SYSTEM_REQUIRE_CONST_INIT [[clang::require_constant_initialization]]
  40. #endif
  41. #endif
  42. #endif // BOOST_SYSTEM_DETAIL_CONFIG_HPP_INCLUDED