maxim-kuvyrkov commented on a change in pull request #11383:
URL: https://github.com/apache/arrow/pull/11383#discussion_r732675280
##########
File path: cpp/cmake_modules/ThirdpartyToolchain.cmake
##########
@@ -903,7 +903,13 @@ if(ARROW_USE_UBSAN)
set(ARROW_USE_NATIVE_INT128 FALSE)
else()
include(CheckCXXSymbolExists)
- check_cxx_symbol_exists("__SIZEOF_INT128__" "" ARROW_USE_NATIVE_INT128)
+ check_cxx_symbol_exists("_M_ARM64" "" WIN32_ARM64_TARGET)
+ if (WIN32_ARM64_TARGET AND CMAKE_CXX_COMPILER_ID MATCHES "Clang")
+ # NOTE: For clang/win-arm64, native int128_t produce linker errors
+ set(ARROW_USE_NATIVE_INT128 FALSE)
+ else ()
+ check_cxx_symbol_exists("__SIZEOF_INT128__" "" ARROW_USE_NATIVE_INT128)
+ endif()
Review comment:
Does this work on x64 windows?
Just an educated guess: from the looks of it, and @cyb70289 's comment, it
looks like an incompatibility between clang-cl and MSVC's runtime libraries --
clang-cl generates calls to __*ti3() functions expecting them in the runtime
libs. Compiler-rt does provide them, but MSVC's libraries do not.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]