bpo-33012: Add -Wno-cast-function-type for gcc 8. (GH-6757) · python/cpython@ef91dde (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
@@ -7052,6 +7052,47 @@ asecho"as_echo "asecho"ac_cv_disable_missing_field_initializers" >&6; }
7052 7052 CFLAGS_NODIST="$CFLAGS_NODIST -Wno-missing-field-initializers"
7053 7053 fi
7054 7054
7055 + { asecho"as_echo "asecho"as_me:${as_lineno-$LINENO}: checking if we can turn off $CC invalid function cast warning" >&5
7056 +$as_echo_n "checking if we can turn off $CC invalid function cast warning... " >&6; }
7057 + ac_save_cc="$CC"
7058 + CC="$CC -Wcast-function-type -Werror"
7059 +if ${ac_cv_disable_cast_function_type+:} false; then :
7060 +$as_echo_n "(cached) " >&6
7061 +else
7062 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7063 +/* end confdefs.h. */
7064 +
7065 +
7066 +int
7067 +main ()
7068 +{
7069 +
7070 + ;
7071 + return 0;
7072 +}
7073 +
7074 +_ACEOF
7075 +if ac_fn_c_try_compile "$LINENO"; then :
7076 +
7077 + ac_cv_disable_cast_function_type=yes
7078 +
7079 +else
7080 +
7081 + ac_cv_disable_cast_function_type=no
7082 +
7083 +fi
7084 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
7085 +fi
7086 +
7087 + CC="$ac_save_cc"
7088 + { asecho"as_echo "asecho"as_me:${as_lineno-$LINENO}: result: $ac_cv_disable_cast_function_type" >&5
7089 +$as_echo "$ac_cv_disable_cast_function_type" >&6; }
7090 +
7091 +if test $ac_cv_disable_cast_function_type = yes
7092 +then
7093 + CFLAGS_NODIST="$CFLAGS_NODIST -Wno-cast-function-type"
7094 +fi
7095 +
7055 7096 { asecho"as_echo "asecho"as_me:${as_lineno-$LINENO}: checking if we can turn on $CC mixed sign comparison warning" >&5
7056 7097 asechon"checkingifwecanturnonas_echo_n "checking if we can turn on asechon"checkingifwecanturnonCC mixed sign comparison warning... " >&6; }
7057 7098 ac_save_cc="$CC"
Original file line number Diff line number Diff line change
@@ -1660,6 +1660,26 @@ yes)
1660 1660 CFLAGS_NODIST="$CFLAGS_NODIST -Wno-missing-field-initializers"
1661 1661 fi
1662 1662
1663 +AC_MSG_CHECKING(if we can turn off $CC invalid function cast warning)
1664 + ac_save_cc="$CC"
1665 + CC="$CC -Wcast-function-type -Werror"
1666 +AC_CACHE_VAL(ac_cv_disable_cast_function_type,
1667 +AC_COMPILE_IFELSE(
1668 +[
1669 + AC_LANG_PROGRAM([[]], [[]])
1670 + ],[
1671 + ac_cv_disable_cast_function_type=yes
1672 + ],[
1673 + ac_cv_disable_cast_function_type=no
1674 + ]))
1675 + CC="$ac_save_cc"
1676 +AC_MSG_RESULT($ac_cv_disable_cast_function_type)
1677 +
1678 + if test $ac_cv_disable_cast_function_type = yes
1679 + then
1680 + CFLAGS_NODIST="$CFLAGS_NODIST -Wno-cast-function-type"
1681 + fi
1682 +
1663 1683 AC_MSG_CHECKING(if we can turn on $CC mixed sign comparison warning)
1664 1684 ac_save_cc="$CC"
1665 1685 CC="$CC -Wsign-compare"