]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/test/compilationunit.sh
Remove unused definitions
[xonotic/xonotic-data.pk3dir.git] / qcsrc / test / compilationunit.sh
index fb893848f529de814751cd43932cf9d4294f401f..dfe7181aea1fcb29e6a594e3df2f3f9e3e2750c7 100755 (executable)
@@ -3,16 +3,32 @@ set -eu
 cd "$(dirname "$0")"
 cd ..
 
+declare -a NOWARN=(
+  -Wno-field-redeclared
+  -Wno-unused-variable
+  -Wno-implicit-function-pointer
+)
 declare QCC=../../../gmqcc/gmqcc
 
+declare -a QCC_FLAGS=(
+  -std=gmqcc
+  -Wall -Werror
+  -fftepp -fftepp-predefs -Wcpp
+  -futf8
+  -freturn-assignments
+  -frelaxed-switch
+  -Ooverlap-locals
+)
+
 function check() {
-  declare -l base="$1"
-  declare -la predefs=("${!2}")
-  find "$base" -type f -name '*.qc' -print0 | sort -z | while IFS= read -r -d '' file; do
+  declare -l base="${1}"
+  declare -la predefs=("-D${2}" "lib/_all.inc" "${base}/_all.qh")
+  find "$base" -type f -name '*.qc' -print0 | sort -z | while read -r -d '' file; do
     echo "$file"
-    ${QCC} -std=gmqcc -fftepp -fftepp-predefs -futf8 -O3 "${predefs[@]}" "$file" >/dev/null
+    ${QCC} "${QCC_FLAGS[@]}" "${NOWARN[@]}" "${predefs[@]}" "$file" >/dev/null
   done
 }
 
-clientdefs=("-DCSQC" "common/util-pre.qh" "dpdefs/csprogsdefs.qh")
-check client clientdefs[@]
+check client CSQC
+check server SVQC
+check menu MENUQC