${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/lit.site.cfg.py)
list(APPEND LSAN_TESTSUITES ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME})
- set(CONFIG_NAME ${ARCH_UPPER_CASE}AsanConfig)
- set(LSAN_LIT_TEST_MODE "AddressSanitizer")
- configure_lit_site_cfg(
- ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.py.in
- ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/lit.site.cfg.py)
- list(APPEND LSAN_TESTSUITES ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME})
+ list(FIND ASAN_SUPPORTED_ARCH ${arch} _found)
+ if(NOT _found EQUAL -1)
+ set(CONFIG_NAME ${ARCH_UPPER_CASE}AsanConfig)
+ set(LSAN_LIT_TEST_MODE "AddressSanitizer")
+ configure_lit_site_cfg(
+ ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.py.in
+ ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/lit.site.cfg.py)
+ list(APPEND LSAN_TESTSUITES ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME})
+ endif()
- # Fixme: make this generic 64 bit check once confirmed that at least
- # ARM64 works.
- if (arch STREQUAL "x86_64" AND NOT APPLE)
+ list(FIND HWASAN_SUPPORTED_ARCH ${arch} _found)
+ if(NOT _found EQUAL -1)
set(CONFIG_NAME ${ARCH_UPPER_CASE}HWAsanConfig)
set(LSAN_LIT_TEST_MODE "HWAddressSanitizer")
configure_lit_site_cfg(
set(LSAN_TEST_DEPS ${SANITIZER_COMMON_LIT_TEST_DEPS})
if(NOT COMPILER_RT_STANDALONE_BUILD)
- list(APPEND LSAN_TEST_DEPS lsan asan)
+ list(APPEND LSAN_TEST_DEPS lsan)
+ append_list_if(COMPILER_RT_HAS_ASAN asan LSAN_TEST_DEPS)
+ append_list_if(COMPILER_RT_HAS_HWASAN hwasan LSAN_TEST_DEPS)
endif()
add_lit_testsuite(check-lsan "Running the LeakSanitizer tests"
${LSAN_TESTSUITES}