Prohibit implicit C function declarations
Issue #27659: use -Werror=implicit-function-declaration when possible (GCC and Clang, but it depends on the compiler version). Patch written by Chi Hsuan Yen.
This commit is contained in:
parent
5bad70def6
commit
193ee0a0e8
|
@ -698,6 +698,10 @@ Documentation
|
||||||
Build
|
Build
|
||||||
-----
|
-----
|
||||||
|
|
||||||
|
- Issue #27659: Prohibit implicit C function declarations: use
|
||||||
|
-Werror=implicit-function-declaration when possible (GCC and Clang, but it
|
||||||
|
depends on the compiler version). Patch written by Chi Hsuan Yen.
|
||||||
|
|
||||||
- Issue #29384: Remove old Be OS helper scripts.
|
- Issue #29384: Remove old Be OS helper scripts.
|
||||||
|
|
||||||
- Issue #26851: Set Android compilation and link flags.
|
- Issue #26851: Set Android compilation and link flags.
|
||||||
|
|
|
@ -7242,6 +7242,47 @@ fi
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_enable_unreachable_code_warning" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_enable_unreachable_code_warning" >&5
|
||||||
$as_echo "$ac_cv_enable_unreachable_code_warning" >&6; }
|
$as_echo "$ac_cv_enable_unreachable_code_warning" >&6; }
|
||||||
|
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can make implicit function declaration an error in $CC" >&5
|
||||||
|
$as_echo_n "checking if we can make implicit function declaration an error in $CC... " >&6; }
|
||||||
|
ac_save_cc="$CC"
|
||||||
|
CC="$CC -Werror=implicit-function-declaration"
|
||||||
|
if ${ac_cv_enable_implicit_function_declaration_error+:} false; then :
|
||||||
|
$as_echo_n "(cached) " >&6
|
||||||
|
else
|
||||||
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
|
/* end confdefs.h. */
|
||||||
|
|
||||||
|
|
||||||
|
int
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
|
||||||
|
;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
_ACEOF
|
||||||
|
if ac_fn_c_try_compile "$LINENO"; then :
|
||||||
|
|
||||||
|
ac_cv_enable_implicit_function_declaration_error=yes
|
||||||
|
|
||||||
|
else
|
||||||
|
|
||||||
|
ac_cv_enable_implicit_function_declaration_error=no
|
||||||
|
|
||||||
|
fi
|
||||||
|
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||||
|
fi
|
||||||
|
|
||||||
|
CC="$ac_save_cc"
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_enable_implicit_function_declaration_error" >&5
|
||||||
|
$as_echo "$ac_cv_enable_implicit_function_declaration_error" >&6; }
|
||||||
|
|
||||||
|
if test $ac_cv_enable_implicit_function_declaration_error = yes
|
||||||
|
then
|
||||||
|
CFLAGS_NODIST="$CFLAGS_NODIST -Werror=implicit-function-declaration"
|
||||||
|
fi
|
||||||
|
|
||||||
# if using gcc on alpha, use -mieee to get (near) full IEEE 754
|
# if using gcc on alpha, use -mieee to get (near) full IEEE 754
|
||||||
# support. Without this, treatment of subnormals doesn't follow
|
# support. Without this, treatment of subnormals doesn't follow
|
||||||
# the standard.
|
# the standard.
|
||||||
|
|
20
configure.ac
20
configure.ac
|
@ -1689,6 +1689,26 @@ yes)
|
||||||
fi
|
fi
|
||||||
AC_MSG_RESULT($ac_cv_enable_unreachable_code_warning)
|
AC_MSG_RESULT($ac_cv_enable_unreachable_code_warning)
|
||||||
|
|
||||||
|
AC_MSG_CHECKING(if we can make implicit function declaration an error in $CC)
|
||||||
|
ac_save_cc="$CC"
|
||||||
|
CC="$CC -Werror=implicit-function-declaration"
|
||||||
|
AC_CACHE_VAL(ac_cv_enable_implicit_function_declaration_error,
|
||||||
|
AC_COMPILE_IFELSE(
|
||||||
|
[
|
||||||
|
AC_LANG_PROGRAM([[]], [[]])
|
||||||
|
],[
|
||||||
|
ac_cv_enable_implicit_function_declaration_error=yes
|
||||||
|
],[
|
||||||
|
ac_cv_enable_implicit_function_declaration_error=no
|
||||||
|
]))
|
||||||
|
CC="$ac_save_cc"
|
||||||
|
AC_MSG_RESULT($ac_cv_enable_implicit_function_declaration_error)
|
||||||
|
|
||||||
|
if test $ac_cv_enable_implicit_function_declaration_error = yes
|
||||||
|
then
|
||||||
|
CFLAGS_NODIST="$CFLAGS_NODIST -Werror=implicit-function-declaration"
|
||||||
|
fi
|
||||||
|
|
||||||
# if using gcc on alpha, use -mieee to get (near) full IEEE 754
|
# if using gcc on alpha, use -mieee to get (near) full IEEE 754
|
||||||
# support. Without this, treatment of subnormals doesn't follow
|
# support. Without this, treatment of subnormals doesn't follow
|
||||||
# the standard.
|
# the standard.
|
||||||
|
|
Loading…
Reference in New Issue