cmake: sanitizer support update for clang 7.
update integer sanitizer for clang 7 build to avoid excessive warning messages for
Jenkins run.
BUG=aomedia:2357
Change-Id: I3db515af593d891dddf5d6ea6bb73ee4376ed4a0
diff --git a/build/cmake/sanitizers.cmake b/build/cmake/sanitizers.cmake
index 77708e1..18efbe3 100644
--- a/build/cmake/sanitizers.cmake
+++ b/build/cmake/sanitizers.cmake
@@ -28,6 +28,15 @@
# Make callstacks accurate.
require_compiler_flag("-fno-omit-frame-pointer -fno-optimize-sibling-calls" YES)
+# TODO(http://crbug.com/aomedia/2357): -fsanitize=implicit-integer-truncation
+# causes conversion warnings in many of the x86 intrinsics and elsewhere.
+if("${SANITIZE}" MATCHES "integer" AND CMAKE_C_COMPILER_ID MATCHES "Clang")
+ if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "7.0.1")
+ require_compiler_flag("-fno-sanitize=implicit-integer-truncation" YES)
+ require_linker_flag("-fno-sanitize=implicit-integer-truncation" YES)
+ endif()
+endif()
+
# Fix link errors due to missing rt compiler lib in 32-bit builds.
# http://llvm.org/bugs/show_bug.cgi?id=17693
if(CMAKE_C_COMPILER_ID MATCHES "Clang")