Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Option -Wtsan is not recognized by older gcc.
authorArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Mon, 17 Jan 2022 08:52:24 +0000 (09:52 +0100)
committerArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Mon, 17 Jan 2022 08:52:24 +0000 (09:52 +0100)
tools/cmake/Flags.cmake

index d9124b9..ee800da 100644 (file)
@@ -246,7 +246,10 @@ endif()
 
 if(enable_thread_sanitizer)
     set(CMAKE_C_FLAGS   "${CMAKE_C_FLAGS} -fsanitize=thread -fno-omit-frame-pointer -no-pie")
-    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=thread -fno-omit-frame-pointer -no-pie -Wno-error=tsan")
+    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=thread -fno-omit-frame-pointer -no-pie")
+    if(CMAKE_COMPILER_IS_GNUCXX AND (NOT (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "12.0")))
+        set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-error=tsan")
+    endif()
     set(CMAKE_C_LINK_FLAGS "${CMAKE_C_LINK_FLAGS} -fsanitize=thread -no-pie")
     try_compile(HAVE_SANITIZER_THREAD ${CMAKE_BINARY_DIR} ${CMAKE_HOME_DIRECTORY}/tools/cmake/test_prog/prog_tsan.cpp)
     try_compile(HAVE_SANITIZER_THREAD_FIBER_SUPPORT ${CMAKE_BINARY_DIR} ${CMAKE_HOME_DIRECTORY}/tools/cmake/test_prog/prog_tsan.cpp