#!/bin/sh
#
# We expect warning options for gcc as argumenst and return the ones which are accepted
# by the given gcc.
#
# $Id: gcc-warnings,v 1.4 2007/10/13 14:51:32 bernd67 Exp $
set -ue
#set -vx
OPTS=""
for param; do
case "$param" in
-[fW]?*) OPTS="$OPTS $param";;
*) echo "Ignoring $param" >&2
esac
done
testcompile() {
$CC $OPTS -E - 2>&1 <<- EOF
int main(void) {
return 0;
}
EOF
}
parsetest() {
while read error; do
case "$error" in
*error:\ unrecognized\ *option*)
opt="${error#*\`}"
opt="${opt%\'*}"
opt="${error#*\"}"
opt="${opt%\"*}"
OPTS=`echo $OPTS | sed -e s/$opt//g`
;;
esac
done
echo $OPTS
}
testcompile | parsetest
exit 0
syntax highlighted by Code2HTML, v. 0.9.1