Mesa (master): build: make passing an incorrect pointer type a hard error

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Mar 8 16:24:14 UTC 2019


Module: Mesa
Branch: master
Commit: e1d81decf7a093867f051786a5d7f6ce4d827ff1
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e1d81decf7a093867f051786a5d7f6ce4d827ff1

Author: Eric Engestrom <eric.engestrom at intel.com>
Date:   Tue Nov 20 12:32:18 2018 +0000

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 at intel.com>
Reviewed-by: Dylan Baker <dylan at pnwbakers.com> # v1
Reviewed-by: Emil Velikov <emil.velikov at collabora.com> # v1
[Emil: apply the same change to autotools and scons]
Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
Reviewed-by: Eric Anholt <eric at anholt.net>

---

 Android.common.mk | 1 +
 configure.ac      | 1 +
 meson.build       | 1 +
 3 files changed, 3 insertions(+)

diff --git a/Android.common.mk b/Android.common.mk
index 60459d16eba..35ef2bfeb82 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 f3c2c3040a1..d8124479c76 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 8a40c48e435..2ccf5f2a4ca 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)




More information about the mesa-commit mailing list