From: Mika Isojärvi Date: Thu, 17 Mar 2016 02:00:59 +0000 (-0700) Subject: Turn on well defined signed integer overflow X-Git-Tag: upstream/0.1.0~812^2~4 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a4f96c9c9d05901bd5ecb36dff78cdea0197b85b;p=platform%2Fupstream%2FVK-GL-CTS.git Turn on well defined signed integer overflow clang and gcc assume that signed integers never overflow. This leads to unexpected bugs when optimizer removes bound checks etc. Bug: 27703278 Bug: 22715185 Change-Id: Iab4c884fa190d05c0ac9236d01eeeb190e765e69 (cherry picked from commit ae6c306e39080de59a8535cf1797b27951dcaa6c) --- diff --git a/Android.mk b/Android.mk index 54f77ee..9cdbe32 100644 --- a/Android.mk +++ b/Android.mk @@ -747,7 +747,7 @@ LOCAL_CFLAGS += \ -Wno-error=date-time LOCAL_SDK_VERSION := 9 -LOCAL_CPPFLAGS += -Wno-non-virtual-dtor +LOCAL_CPPFLAGS += -Wno-non-virtual-dtor -fwrapv LOCAL_NDK_STL_VARIANT := gnustl_static LOCAL_RTTI_FLAG := -frtti -fexceptions LOCAL_MULTILIB := both diff --git a/framework/delibs/cmake/CFlags.cmake b/framework/delibs/cmake/CFlags.cmake index ff25740..98f0252 100644 --- a/framework/delibs/cmake/CFlags.cmake +++ b/framework/delibs/cmake/CFlags.cmake @@ -49,6 +49,10 @@ if (DE_COMPILER_IS_GCC OR DE_COMPILER_IS_CLANG) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${TARGET_FLAGS} ${WARNING_FLAGS} -ansi -pedantic ") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${TARGET_FLAGS} ${WARNING_FLAGS}") + # Force compiler to generate code where integers have well defined overflow + # Turn on -Wstrict-overflow=5 and check all warnings before removing + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fwrapv") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fwrapv") elseif (DE_COMPILER_IS_MSC) # Compiler flags for msc