# gcc 4.4.6 complains this is C++ only; gcc 4.7.0 implies this from -Wall
dontwarn="$dontwarn -Wenum-compare"
- # clang rather horribly ignores unknown warning flags by
- # default. Thus to get gl_WARN_ADD to reliably detect
- # flags, we need to set '-Werror -Wunknown-warning-option'
- # in CFLAGS while probing support
- WARN_CFLAGS=
- orig_CFLAGS="$CFLAGS"
- gl_WARN_ADD([-Wunknown-warning-option])
- if test -n "$WARN_CFLAGS" ; then
- WARN_CFLAGS=
- CFLAGS="-Werror -Wunknown-warning-option $CFLAGS"
- fi
-
# gcc 4.2 treats attribute(format) as an implicit attribute(nonnull),
# which triggers spurious warnings for our usage
AC_CACHE_CHECK([whether gcc -Wformat allows NULL strings],
dnl gl_WARN_ADD([-fstack-protector])
gl_WARN_ADD([-fstack-protector-all])
gl_WARN_ADD([--param=ssp-buffer-size=4])
- dnl Even though it supports it, clang complains about
- dnl use of --param=ssp-buffer-size=4 unless used with
- dnl the -c arg. It doesn't like it when used with args
- dnl that just link together .o files. Unfortunately
- dnl we can't avoid that with automake, so we must turn
- dnl off the following clang specific warning
- gl_WARN_ADD([-Wno-unused-command-line-argument])
;;
*-*-freebsd*)
dnl FreeBSD ships old gcc 4.2.1 which doesn't handle
AC_DEFINE_UNQUOTED([BROKEN_GCC_WLOGICALOP], 1,
[Define to 1 if gcc -Wlogical-op reports false positives on strchr])
fi
-
- # Remove stuff we set for clang
- CFLAGS="$orig_CFLAGS"
])