* also check -m
[olsrd.git] / gcc-warnings
1 #!/bin/sh
2 #
3 # We expect warning options for gcc as argumenst and return the ones which are accepted
4 # by the given gcc.
5 #
6 # $Id: gcc-warnings,v 1.5 2007/11/04 18:45:30 bernd67 Exp $
7
8 set -ue
9 #set -vx
10
11 OPTS=""
12 for param; do
13     case "$param" in
14     -[fWm]?*) OPTS="$OPTS $param";;
15     *)        echo "Ignoring $param" >&2
16     esac
17 done
18
19 testcompile() {
20     $CC $OPTS -E - 2>&1 <<- EOF
21        int main(void) {
22            return 0;
23        }
24 EOF
25 }
26
27 parsetest() {
28     while read error; do 
29        case "$error" in
30        *error:\ unrecognized\ *option*)
31                                        opt="${error#*\`}"
32                                        opt="${opt%\'*}"
33                                        opt="${error#*\"}"
34                                        opt="${opt%\"*}"
35                                        OPTS=`echo $OPTS | sed -e s/$opt//g`
36                                        ;;
37        esac
38     done
39     echo $OPTS
40 }
41
42 testcompile | parsetest
43
44 exit 0