From 4e51cc948504a97a7074ff406f5f834287b76f7b Mon Sep 17 00:00:00 2001 From: Ken Raeburn Date: Sat, 2 Oct 2010 03:29:34 +0000 Subject: [PATCH] Try to require function declarations for GCC, as we already do for the Sun compiler. Change the cache variable name construction to distinguish "=" from "-" in option names. Prefer -Werror-implicit-function-declaration over -Werror=implicit-function-declaration since in some versions of GCC only the former works properly. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24409 dc483132-0cff-0310-8789-dd5450dbe970 --- src/aclocal.m4 | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/aclocal.m4 b/src/aclocal.m4 index 5637f6870..408035aae 100644 --- a/src/aclocal.m4 +++ b/src/aclocal.m4 @@ -466,7 +466,7 @@ krb5_ac_warn_cxxflags_set=${WARN_CXXFLAGS+set} ]) dnl AC_DEFUN(TRY_WARN_CC_FLAG,[dnl - cachevar=`echo "krb5_cv_cc_flag_$1" | sed s/[[^a-zA-Z0-9_]]/_/g` + cachevar=`echo "krb5_cv_cc_flag_$1" | sed -e s/=/_eq_/g -e s/-/_dash_/g -e s/[[^a-zA-Z0-9_]]/_/g` AC_CACHE_CHECK([if C compiler supports $1], [$cachevar], [# first try without, then with AC_TRY_COMPILE([], 1;, @@ -565,7 +565,17 @@ if test "$GCC" = yes ; then TRY_WARN_CC_FLAG(-W$flag) fi done - # missing-prototypes? maybe someday + # We require function declarations now. + # + # In some compiler versions -- e.g., "gcc version 4.2.1 (Apple + # Inc. build 5664)" -- the -Werror- option works, but the -Werror= + # version doesn't cause implicitly declared functions to be + # flagged as errors. If neither works, -Wall implies + # -Wimplicit-function-declaration so don't bother. + TRY_WARN_CC_FLAG(-Werror-implicit-function-declaration) + if test "implicit-function-declaration_supported" = no; then + TRY_WARN_CC_FLAG(-Werror=implicit-function-declaration) + fi # fi if test "`uname -s`" = Darwin ; then -- 2.26.2