summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Engestrom <eric.engestrom@intel.com>2018-11-20 12:32:18 +0000
committerEric Engestrom <eric@engestrom.ch>2019-03-08 16:24:06 +0000
commite1d81decf7a093867f051786a5d7f6ce4d827ff1 (patch)
tree0164b600998902f27e0d98a4cb9880a8bb5f87d8
parent598f10eacca1488e580779fc9b6110ed9cba1f13 (diff)
build: make passing an incorrect pointer type a hard error
More or less any of this issue pointed out by the compiler is a coding error. Make sure we flag it and bail loudly. v2: - apply the change to autotools and scons as well (Emil) - C++ doesn't need this, it's already an error and the flag doesn't exist (Gert) v3: - drop scons, flags are not checked so until someone adds that functionality we can't have this. Signed-off-by: Eric Engestrom <eric.engestrom@intel.com> Reviewed-by: Dylan Baker <dylan@pnwbakers.com> # v1 Reviewed-by: Emil Velikov <emil.velikov@collabora.com> # v1 [Emil: apply the same change to autotools and scons] Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Eric Anholt <eric@anholt.net>
-rw-r--r--Android.common.mk1
-rw-r--r--configure.ac1
-rw-r--r--meson.build1
3 files changed, 3 insertions, 0 deletions
diff --git a/Android.common.mk b/Android.common.mk
index 60459d16ebae..35ef2bfeb82c 100644
--- a/Android.common.mk
+++ b/Android.common.mk
@@ -32,6 +32,7 @@ LOCAL_C_INCLUDES += \
MESA_VERSION := $(shell cat $(MESA_TOP)/VERSION)
LOCAL_CFLAGS += \
-Wno-error \
+ -Werror=incompatible-pointer-types
-Wno-unused-parameter \
-Wno-pointer-arith \
-Wno-missing-field-initializers \
diff --git a/configure.ac b/configure.ac
index f3c2c3040a14..d8124479c764 100644
--- a/configure.ac
+++ b/configure.ac
@@ -320,6 +320,7 @@ dnl
AX_CHECK_COMPILE_FLAG([-Wall], [CFLAGS="$CFLAGS -Wall"])
AX_CHECK_COMPILE_FLAG([-Werror=implicit-function-declaration], [CFLAGS="$CFLAGS -Werror=implicit-function-declaration"])
AX_CHECK_COMPILE_FLAG([-Werror=missing-prototypes], [CFLAGS="$CFLAGS -Werror=missing-prototypes"])
+AX_CHECK_COMPILE_FLAG([-Werror=incompatible-pointer-types], [CFLAGS="$CFLAGS -Werror=incompatible-pointer-types"])
AX_CHECK_COMPILE_FLAG([-Wmissing-prototypes], [CFLAGS="$CFLAGS -Wmissing-prototypes"])
dnl Dylan Baker: gcc and clang always accepr -Wno-*, hence check for the original warning, then set the no-* flag
AX_CHECK_COMPILE_FLAG([-Wmissing-field-initializers], [CFLAGS="$CFLAGS -Wno-missing-field-initializers"])
diff --git a/meson.build b/meson.build
index 8a40c48e4355..2ccf5f2a4cae 100644
--- a/meson.build
+++ b/meson.build
@@ -804,6 +804,7 @@ endif
c_args = []
foreach a : ['-Werror=implicit-function-declaration',
'-Werror=missing-prototypes', '-Werror=return-type',
+ '-Werror=incompatible-pointer-types',
'-fno-math-errno',
'-fno-trapping-math', '-Qunused-arguments']
if cc.has_argument(a)