summaryrefslogtreecommitdiff
path: root/configure
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2012-12-11 23:28:31 -0500
committerRich Felker <dalias@aerifal.cx>2012-12-11 23:28:31 -0500
commit2384f27d34c1580dfac73d57d7c2c6b204f1d147 (patch)
treeaf3b671da2fba7947b819a5316004a6fe8064c3d /configure
parentbcc20d2b94e2c6649597d552b94718197be0674f (diff)
downloadmusl-2384f27d34c1580dfac73d57d7c2c6b204f1d147.tar.gz
treat invalid C as an error even if warnings aren't enabled.
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure12
1 files changed, 11 insertions, 1 deletions
diff --git a/configure b/configure
index b61ffb82..96f93b24 100755
--- 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