diff --git a/CMake/folly-deps.cmake b/CMake/folly-deps.cmake index d060982a920..6ce4c679a42 100644 --- a/CMake/folly-deps.cmake +++ b/CMake/folly-deps.cmake @@ -187,9 +187,13 @@ message(STATUS "Setting FOLLY_HAVE_DWARF: ${FOLLY_HAVE_DWARF}") check_cxx_source_compiles(" #include int main(int argc, char** argv) { + std::atomic a1; + std::atomic a2; + std::atomic a4; + std::atomic a8; struct Test { bool val; }; std::atomic s; - return static_cast(s.is_lock_free()); + return a1++ + a2++ + a4++ + a8++ + unsigned(s.is_lock_free()); }" FOLLY_CPP_ATOMIC_BUILTIN ) @@ -200,9 +204,13 @@ if(NOT FOLLY_CPP_ATOMIC_BUILTIN) check_cxx_source_compiles(" #include int main(int argc, char** argv) { + std::atomic a1; + std::atomic a2; + std::atomic a4; + std::atomic a8; struct Test { bool val; }; - std::atomic s2; - return static_cast(s2.is_lock_free()); + std::atomic s; + return a1++ + a2++ + a4++ + a8++ + unsigned(s.is_lock_free()); }" FOLLY_CPP_ATOMIC_WITH_LIBATOMIC )