diff --git a/ci/azure/azure-gcc-8-ubuntu-mpich.yml b/ci/azure/azure-gcc-8-ubuntu-mpich.yml index 9fa9d5e1f9..55b4cde549 100644 --- a/ci/azure/azure-gcc-8-ubuntu-mpich.yml +++ b/ci/azure/azure-gcc-8-ubuntu-mpich.yml @@ -55,7 +55,7 @@ variables: TS_YEAR: 0 TS_MONTH: 0 TS_DAY: 0 - LSAN_OPTIONS: suppressions=/vt/tests/knowns_leaks.supp + LSAN_OPTIONS: suppressions=/vt/tests/lsan.supp stages: - stage: Build diff --git a/ci/docker/ubuntu-20.04-clang-cpp.dockerfile b/ci/docker/ubuntu-20.04-clang-cpp.dockerfile index d1837d4ebf..3d8ce9d990 100644 --- a/ci/docker/ubuntu-20.04-clang-cpp.dockerfile +++ b/ci/docker/ubuntu-20.04-clang-cpp.dockerfile @@ -25,6 +25,7 @@ RUN apt-get update -y -q && \ make-guile \ libomp5 \ libomp-dev \ + llvm-10 \ ccache && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* diff --git a/cmake-modules/SetCXXCompilerFlags.cmake b/cmake-modules/SetCXXCompilerFlags.cmake index e2292df69d..288f94afcf 100644 --- a/cmake-modules/SetCXXCompilerFlags.cmake +++ b/cmake-modules/SetCXXCompilerFlags.cmake @@ -28,4 +28,8 @@ elseif (NOT "${CMAKE_CXX_COMPILER_ID}" MATCHES "Intel") message(FATAL_ERROR "Your C++ compiler may not support C++14.") endif () +if (vt_asan_enabled) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-omit-frame-pointer") +endif() endmacro() diff --git a/cmake/load_bundled_libraries.cmake b/cmake/load_bundled_libraries.cmake index a8cf04be84..15caf466d8 100644 --- a/cmake/load_bundled_libraries.cmake +++ b/cmake/load_bundled_libraries.cmake @@ -49,14 +49,9 @@ endif() # Check if address sanitizer can be enabled if (vt_asan_enabled) - if(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" OR - CMAKE_CXX_COMPILER_ID STREQUAL "Clang" OR - (CMAKE_CXX_COMPILER_ID - STREQUAL - "GNU" - AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER "4.8")) + if (CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" OR + CMAKE_CXX_COMPILER_ID STREQUAL "Clang" OR + CMAKE_CXX_COMPILER_ID STREQUAL "GNU") message(STATUS "Building with address sanitizer enabled") - else() - message(SEND_ERROR "Cannot use ASAN without clang or gcc >= 4.8") endif() endif() diff --git a/scripts/workflows-azure.ini b/scripts/workflows-azure.ini index 1a1dcd22a6..5f7c8c8e71 100644 --- a/scripts/workflows-azure.ini +++ b/scripts/workflows-azure.ini @@ -166,7 +166,7 @@ vt_pool = 0 vt_asan = 1 output_name = ci/azure/azure-gcc-8-ubuntu-mpich.yml vt_use_std_thread = 1 -lsan_options = suppressions=/vt/tests/knowns_leaks.supp +lsan_options = suppressions=/vt/tests/lsan.supp [PR-tests-gcc-9] test_configuration = "gcc-9, ubuntu, mpich, zoltan" diff --git a/tests/knowns_leaks.supp b/tests/lsan.supp similarity index 100% rename from tests/knowns_leaks.supp rename to tests/lsan.supp