chriskohlhoff / asio

Asio C++ Library
http://think-async.com/Asio
4.72k stars 1.19k forks source link

libc++ removes some ifdefs so current code doesn't work as expected #1478

Open MBkkt opened 1 month ago

MBkkt commented 1 month ago

https://github.com/llvm/llvm-project/commit/21f73d5826fb5024a27eaacafadfa316f58949c5

https://live.boost.org/doc/libs/1_85_0/boost/asio/detail/config.hpp

#if !defined(BOOST_ASIO_HAS_STD_ALIGNED_ALLOC)
# if !defined(BOOST_ASIO_DISABLE_STD_ALIGNED_ALLOC)
#  if (__cplusplus >= 201703)
#   if defined(__clang__)
#    if defined(BOOST_ASIO_HAS_CLANG_LIBCXX)
#     if (_LIBCPP_STD_VER > 14) && defined(_LIBCPP_HAS_ALIGNED_ALLOC) \
        && !defined(_LIBCPP_MSVCRT) && !defined(__MINGW32__)
#      if defined(__APPLE__)
#       if defined(__MAC_OS_X_VERSION_MIN_REQUIRED)
#        if (__MAC_OS_X_VERSION_MIN_REQUIRED >= 101500)
#         define BOOST_ASIO_HAS_STD_ALIGNED_ALLOC 1
#        endif // (__MAC_OS_X_VERSION_MIN_REQUIRED >= 101500)
#       elif defined(__IPHONE_OS_VERSION_MIN_REQUIRED)
#        if (__IPHONE_OS_VERSION_MIN_REQUIRED >= 130000)
#         define BOOST_ASIO_HAS_STD_ALIGNED_ALLOC 1
#        endif // (__IPHONE_OS_VERSION_MIN_REQUIRED >= 130000)
#       elif defined(__TV_OS_VERSION_MIN_REQUIRED)
#        if (__TV_OS_VERSION_MIN_REQUIRED >= 130000)
#         define BOOST_ASIO_HAS_STD_ALIGNED_ALLOC 1
#        endif // (__TV_OS_VERSION_MIN_REQUIRED >= 130000)
#       elif defined(__WATCH_OS_VERSION_MIN_REQUIRED)
#        if (__WATCH_OS_VERSION_MIN_REQUIRED >= 60000)
#         define BOOST_ASIO_HAS_STD_ALIGNED_ALLOC 1
#        endif // (__WATCH_OS_VERSION_MIN_REQUIRED >= 60000)
#       endif // defined(__WATCH_OS_X_VERSION_MIN_REQUIRED)
#      else // defined(__APPLE__)
#       define BOOST_ASIO_HAS_STD_ALIGNED_ALLOC 1
#      endif // defined(__APPLE__)
#     endif // (_LIBCPP_STD_VER > 14) && defined(_LIBCPP_HAS_ALIGNED_ALLOC)
            //   && !defined(_LIBCPP_MSVCRT) && !defined(__MINGW32__)
#    elif defined(_GLIBCXX_HAVE_ALIGNED_ALLOC)
#     define BOOST_ASIO_HAS_STD_ALIGNED_ALLOC 1
#    endif // defined(_GLIBCXX_HAVE_ALIGNED_ALLOC)
#   elif defined(__GNUC__)
#    if ((__GNUC__ == 7) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 7)
#     if defined(_GLIBCXX_HAVE_ALIGNED_ALLOC)
#      define BOOST_ASIO_HAS_STD_ALIGNED_ALLOC 1
#     endif // defined(_GLIBCXX_HAVE_ALIGNED_ALLOC)
#    endif // ((__GNUC__ == 7) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 7)
#   endif // defined(__GNUC__)
#  endif // (__cplusplus >= 201703)
# endif // !defined(BOOST_ASIO_DISABLE_STD_ALIGNED_ALLOC)
#endif // !defined(BOOST_ASIO_HAS_STD_ALIGNED_ALLO