treat invalid C as an error even if warnings aren't enabled.
authorRich Felker <dalias@aerifal.cx>
Wed, 12 Dec 2012 04:28:31 +0000 (23:28 -0500)
committerRich Felker <dalias@aerifal.cx>
Wed, 12 Dec 2012 04:28:31 +0000 (23:28 -0500)
configure

index b61ffb82bdc11dafbd7ea0cc3a5ab3eb06ab54fc..96f93b24cc705bde21bd3308bbeb0efacab09d5c 100755 (executable)
--- a/configure
+++ b/configure
@@ -270,9 +270,19 @@ fnmatch '-march=*|*\ -march=*' "$CFLAGS" || tryldflag CFLAGS_AUTO -march=i486
 fnmatch '-mtune=*|*\ -mtune=*' "$CFLAGS" || tryldflag CFLAGS_AUTO -mtune=generic
 fi
 
+#
+# Even with -std=c99, gcc accepts some constructs which are constraint
+# violations. We want to treat these as errors regardless of whether
+# other purely stylistic warnings are enabled -- especially implicit
+# function declarations, which are a dangerous programming error.
+#
+tryflag CFLAGS_AUTO -Werror=implicit-function-declaration
+tryflag CFLAGS_AUTO -Werror=implicit-int
+tryflag CFLAGS_AUTO -Werror=pointer-sign
+tryflag CFLAGS_AUTO -Werror=pointer-arith
+
 if test "x$warnings" = xyes ; then
 tryflag CFLAGS_AUTO -Wall
-tryflag CFLAGS_AUTO -Wpointer-arith
 tryflag CFLAGS_AUTO -Wcast-align
 tryflag CFLAGS_AUTO -Wno-parentheses
 tryflag CFLAGS_AUTO -Wno-uninitialized