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")