Clean up and improve the devel/ scripts.
authorEmil Mikulic <emikulic@gmail.com>
Sun, 28 Apr 2013 11:16:40 +0000 (21:16 +1000)
committerEmil Mikulic <emikulic@gmail.com>
Sun, 28 Apr 2013 11:16:40 +0000 (21:16 +1000)
debug-build.sh [deleted file]
devel/checker
devel/clang-warns
devel/warns

diff --git a/debug-build.sh b/debug-build.sh
deleted file mode 100755 (executable)
index 736e356..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-BDECFLAGS="-W -Wall -ansi -pedantic -Wbad-function-cast -Wcast-align \
--Wcast-qual -Wchar-subscripts -Winline -Wmissing-prototypes -Wnested-externs \
--Wpointer-arith -Wredundant-decls -Wshadow -Wstrict-prototypes -Wwrite-strings"
-
-(cd trunk &&
-rm -f darkhttpd &&
-make bsd CFLAGS="$BDECFLAGS -g -DDEBUG -DTORTURE")
index 76adc6e..d77c06d 100755 (executable)
@@ -1,12 +1,14 @@
 #!/bin/sh
 #
-# Run through the clang static analyzer
+# Run through the clang static analyzer.
 #
+TARGET=$(dirname $0)/../darkhttpd.c
 
 # Adjust to suit:
 LLVM=$HOME/llvm
 CHECKER=$LLVM/llvm/tools/clang/tools/scan-build/ccc-analyzer
 
-env PATH=$LLVM/build/Release/bin:$PATH $CHECKER ../darkhttpd.c
-
-rm -f a.out
+$LLVM/llvm/tools/clang/tools/scan-build/scan-build \
+  -analyze-headers \
+  --use-analyzer=$LLVM/install/bin/clang \
+  clang $TARGET
index 3edacfa..3e813d3 100755 (executable)
@@ -1,48 +1,13 @@
 #!/bin/sh
 #
-# Build with clang with all warnings
+# Build with clang with all warnings.
 #
+TARGET=$(dirname $0)/../darkhttpd.c
 
 # Adjust to suit:
 LLVM=$HOME/llvm
-CLANG=$LLVM/build/Release/bin/clang
 
-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
-
-# disabled:
-# -Wunreachable-code
-
-$CLANG -std=c99 $BDECFLAGS \
--Wextra -Waddress -Waggregate-return \
--Wcomment \
--Wdisabled-optimization \
--Wconversion \
--Wempty-body \
--Wfloat-equal -Wformat -Wformat=2 \
--Wformat-nonliteral \
--Wformat-security -Wformat-y2k \
--Wignored-qualifiers -Wimplicit \
--Winit-self \
--Winvalid-pch \
--Wlong-long -Wmain \
--Wmissing-braces -Wmissing-field-initializers -Wmissing-format-attribute \
--Wmissing-include-dirs -Wmissing-noreturn \
--Woverlength-strings -Wpacked \
--Wpadded -Wparentheses \
--Wreturn-type -Wsequence-point -Wsign-compare \
--Wstack-protector -Wstrict-aliasing \
--Wstrict-overflow -Wstrict-overflow=5 -Wswitch \
--Wswitch-default -Wswitch-enum -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: $?
+$LLVM/install/bin/clang \
+  -Weverything -Wno-unreachable-code -Wno-padded \
+  -O $TARGET
 rm -f a.out
index 2e59aea..9ce0c79 100755 (executable)
@@ -2,48 +2,9 @@
 #
 # Build with pretty-much all GCC warnings enabled.
 #
+TARGET=$(dirname $0)/../darkhttpd.c
 
-# 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: $?
+gcc -O -fstrict-aliasing \
+  --all-warnings --extra-warnings \
+ $TARGET
 rm -f a.out