bpo-33012: Add -Wno-cast-function-type for gcc 8. (GH-6757) · python/cpython@20b797d (original) (raw)

3 files changed

lines changed

Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
1 +Add ``-Wno-cast-function-type`` for gcc 8 for silencing warnings about
2 +function casts like casting to PyCFunction in method definition lists.
Original file line number Diff line number Diff line change
@@ -7186,6 +7186,47 @@ asecho"as_echo "asecho"ac_cv_disable_missing_field_initializers" >&6; }
7186 7186 CFLAGS_NODIST="$CFLAGS_NODIST -Wno-missing-field-initializers"
7187 7187 fi
7188 7188
7189 + { asecho"as_echo "asecho"as_me:${as_lineno-$LINENO}: checking if we can turn off $CC invalid function cast warning" >&5
7190 +$as_echo_n "checking if we can turn off $CC invalid function cast warning... " >&6; }
7191 + ac_save_cc="$CC"
7192 + CC="$CC -Wcast-function-type -Werror"
7193 +if ${ac_cv_disable_cast_function_type+:} false; then :
7194 +$as_echo_n "(cached) " >&6
7195 +else
7196 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7197 +/* end confdefs.h. */
7198 +
7199 +
7200 +int
7201 +main ()
7202 +{
7203 +
7204 + ;
7205 + return 0;
7206 +}
7207 +
7208 +_ACEOF
7209 +if ac_fn_c_try_compile "$LINENO"; then :
7210 +
7211 + ac_cv_disable_cast_function_type=yes
7212 +
7213 +else
7214 +
7215 + ac_cv_disable_cast_function_type=no
7216 +
7217 +fi
7218 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
7219 +fi
7220 +
7221 + CC="$ac_save_cc"
7222 + { asecho"as_echo "asecho"as_me:${as_lineno-$LINENO}: result: $ac_cv_disable_cast_function_type" >&5
7223 +$as_echo "$ac_cv_disable_cast_function_type" >&6; }
7224 +
7225 +if test $ac_cv_disable_cast_function_type = yes
7226 +then
7227 + CFLAGS_NODIST="$CFLAGS_NODIST -Wno-cast-function-type"
7228 +fi
7229 +
7189 7230 { asecho"as_echo "asecho"as_me:${as_lineno-$LINENO}: checking if we can turn on $CC mixed sign comparison warning" >&5
7190 7231 asechon"checkingifwecanturnonas_echo_n "checking if we can turn on asechon"checkingifwecanturnonCC mixed sign comparison warning... " >&6; }
7191 7232 ac_save_cc="$CC"
Original file line number Diff line number Diff line change
@@ -1666,6 +1666,26 @@ yes)
1666 1666 CFLAGS_NODIST="$CFLAGS_NODIST -Wno-missing-field-initializers"
1667 1667 fi
1668 1668
1669 +AC_MSG_CHECKING(if we can turn off $CC invalid function cast warning)
1670 + ac_save_cc="$CC"
1671 + CC="$CC -Wcast-function-type -Werror"
1672 +AC_CACHE_VAL(ac_cv_disable_cast_function_type,
1673 +AC_COMPILE_IFELSE(
1674 +[
1675 + AC_LANG_PROGRAM([[]], [[]])
1676 + ],[
1677 + ac_cv_disable_cast_function_type=yes
1678 + ],[
1679 + ac_cv_disable_cast_function_type=no
1680 + ]))
1681 + CC="$ac_save_cc"
1682 +AC_MSG_RESULT($ac_cv_disable_cast_function_type)
1683 +
1684 + if test $ac_cv_disable_cast_function_type = yes
1685 + then
1686 + CFLAGS_NODIST="$CFLAGS_NODIST -Wno-cast-function-type"
1687 + fi
1688 +
1669 1689 AC_MSG_CHECKING(if we can turn on $CC mixed sign comparison warning)
1670 1690 ac_save_cc="$CC"
1671 1691 CC="$CC -Wsign-compare"