declare -a QCCFLAGS=(
-std=gmqcc
+ # Without -O3, GMQCC thinks some variables are used uninitialized if the initialization is done inside an `if (1)` block
+ # (which is created by e.g. BEGIN_MACRO) which would cause the compilation units test to fail.
+ # There doesn't appear to be any measurable increase in compile time
+ # and it allows us to get rid of some explicit initializations which are just useless noise.
+ -O3
-Wall -Werror
-futf8
-freturn-assignments
declare -l prog="${1}"
declare -l file="${2}"
MODE=${prog}
+ includes="-include lib/_all.inc"
+ [ -f ${prog}/_all.qh ] && includes="${includes} -include ${prog}/_all.qh"
qpp ${file} test.dat \
- -include lib/_all.inc -include ${prog}/_all.qh \
+ ${includes} \
-I. ${QCCIDENT} ${QCCDEFS} > ${WORKDIR}/${prog}.qc
qcc ${QCCFLAGS} -o ../${WORKDIR}/test.dat ../${WORKDIR}/${prog}.qc >/dev/null
}
done
}
-check client
-check server
-check menu
+if [ ${#@} -eq 0 ]; then
+ check client
+ check server
+ check menu
+else
+ for var in ${@}; do
+ check ${var}
+ done
+fi