-
- case "$cc" in
- *g++*)
- # Extra paranoia in case people have bad canned ccflags:
- # bad in the sense that the flags are accepted by g++,
- # but then whined about.
- for f in -Wdeclaration-after-statement -std=c89
- do
- ccflags=`echo $ccflags|sed 's/$f/ /'`
- done
- ;;
- esac
- cppflags=`echo $cppflags|sed 's/-Wdeclaration-after-statement/ /'`
-
- case "$cc" in
- *clang*)
- # clang complains a lot about -Wunused-value which are not fixable
- warn="$warn -Wno-unused-value"
- ;;
- *g++*)
- # Without -Wno-unused-variable g++ 4.x compiles are rather unwatchable
- # because of all the warnings about Perl___notused, and g++ doesn't do
- # __attribute__((unused)) (and even if at some stage it may, people do
- # have older gcc installations), and ((void)x) isn't enough to silence
- # the noises about XS functions not using their cv parameter, so we need
- # the -Wno-unused-parameter too.
- # Yes, we lose some valid warnings, but hopefully other compilers
- # (like gcc) will still pick up those warnings.
- for o in -Wno-unused-variable -Wno-unused-parameter
- do
- case "$warn" in
- *$o*) ;;
- *) warn="$warn $o" ;;
- esac
- done
- ;;
- *)
- # clang may not be called clang
- case "`$cc -v 2>&1`" in
- *clang*)
- case "$warn" in
- *-Wno-unused-value) ;;
- *) warn="$warn -Wno-unused-value"
- esac
- esac