-case "$cc" in
-*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" ;;
+ 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
+ ;;