For developers - build with lots of warnings.

This commit is contained in:
Emil Mikulic 2011-01-15 20:51:07 +11:00
parent ccbe7cffa7
commit c42e5afec5

49
devel/warns Executable file
View File

@ -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