For developers - build with lots of warnings.
authorEmil Mikulic <emikulic@gmail.com>
Sat, 15 Jan 2011 09:51:07 +0000 (20:51 +1100)
committerEmil Mikulic <emikulic@gmail.com>
Sun, 28 Apr 2013 10:37:08 +0000 (20:37 +1000)
devel/warns [new file with mode: 0755]

diff --git a/devel/warns b/devel/warns
new file mode 100755 (executable)
index 0000000..2e59aea
--- /dev/null
@@ -0,0 +1,49 @@
+#!/bin/sh
+#
+# Build with pretty-much all GCC warnings enabled.
+#
+
+# from FreeBSD's src/share/examples/etc/make.conf,v 1.279.10.3.2.1
+BDECFLAGS="-W -Wall -pedantic -Wbad-function-cast -Wcast-align \
+-Wcast-qual -Wchar-subscripts -Winline \
+-Wmissing-prototypes -Wnested-externs -Wpointer-arith \
+-Wredundant-decls -Wshadow -Wstrict-prototypes -Wwrite-strings"
+# local change: removed -ansi above
+
+# disabling:
+# -Wunreachable-code
+# -Wconversion
+#
+# (usually wrong, too noisy, complain about macros from system headers)
+
+gcc -std=c99 $BDECFLAGS \
+-Wextra -Waddress -Waggregate-return \
+-Warray-bounds \
+-Wclobbered \
+-Wcomment -Wcoverage-mismatch \
+-Wdisabled-optimization \
+-Wempty-body \
+-Wfloat-equal -Wformat -Wformat=2 \
+-Wformat-nonliteral \
+-Wformat-security -Wformat-y2k \
+-Wignored-qualifiers -Wimplicit \
+-Winit-self \
+-Winvalid-pch \
+-Wunsafe-loop-optimizations -Wlogical-op -Wlong-long -Wmain \
+-Wmissing-braces -Wmissing-field-initializers -Wmissing-format-attribute \
+-Wmissing-include-dirs -Wmissing-noreturn \
+-Woverlength-strings -Wpacked \
+-Wpacked-bitfield-compat -Wpadded -Wparentheses \
+-Wreturn-type -Wsequence-point -Wsign-compare \
+-Wsign-conversion -Wstack-protector -Wstrict-aliasing \
+-Wstrict-overflow -Wstrict-overflow=5 -Wswitch \
+-Wswitch-default -Wswitch-enum -Wsync-nand -Wtrigraphs \
+-Wtype-limits -Wundef -Wuninitialized -Wunknown-pragmas \
+-Wunused -Wunused-function -Wunused-label \
+-Wunused-parameter -Wunused-value -Wunused-variable \
+-Wvariadic-macros -Wvla -Wvolatile-register-var \
+-Wabi \
+-O -pipe -fstrict-aliasing ../darkhttpd.c
+
+echo errcode: $?
+rm -f a.out