Fix android hardware_destructive_inference_size issue.

This commit is contained in:
Antonio Sánchez
2025-02-05 23:53:55 +00:00
parent 4c2611d27c
commit 4c38131a16
3 changed files with 16 additions and 8 deletions

View File

@@ -39,8 +39,11 @@
#endif
// Align to the boundary that avoids false sharing.
// https://en.cppreference.com/w/cpp/thread/hardware_destructive_interference_size
#if defined(__cpp_lib_hardware_interference_size) && __cpp_lib_hardware_interference_size >= 201603
// https://en.cppreference.com/w/cpp/thread/hardware_destructive_interference_size
// There is a bug in android NDK < r26 where the macro is defined but std::hardware_destructive_interference_size
// still does not exist.
#if defined(__cpp_lib_hardware_interference_size) && __cpp_lib_hardware_interference_size >= 201603 && \
(!EIGEN_OS_ANDROID || __NDK_MAJOR__ + 0 >= 26)
#include <new>
#define EIGEN_ALIGN_TO_AVOID_FALSE_SHARING EIGEN_ALIGN_TO_BOUNDARY(std::hardware_destructive_interference_size)
#else