diff options
author | INADA Naoki <methane@users.noreply.github.com> | 2018-06-05 11:40:53 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-06-05 11:40:53 (GMT) |
commit | e33648484775fa533fc8f1e5cc45f60061d29d54 (patch) | |
tree | b849302a2a14c737ae813cd9e0c4185221c2d4be | |
parent | 5f48e2644dcfb47f0bbc0fcdc2b103a19bdec288 (diff) | |
download | cpython-e33648484775fa533fc8f1e5cc45f60061d29d54.zip cpython-e33648484775fa533fc8f1e5cc45f60061d29d54.tar.gz cpython-e33648484775fa533fc8f1e5cc45f60061d29d54.tar.bz2 |
bpo-5755: Move -Wstrict-prototypes to CFLAGS_NODIST (GH-7395)
-rw-r--r-- | Misc/NEWS.d/next/Build/2018-06-04-21-34-34.bpo-5755.65GmCj.rst | 3 | ||||
-rwxr-xr-x | configure | 46 | ||||
-rw-r--r-- | configure.ac | 25 |
3 files changed, 64 insertions, 10 deletions
diff --git a/Misc/NEWS.d/next/Build/2018-06-04-21-34-34.bpo-5755.65GmCj.rst b/Misc/NEWS.d/next/Build/2018-06-04-21-34-34.bpo-5755.65GmCj.rst new file mode 100644 index 0000000..8bcad44 --- /dev/null +++ b/Misc/NEWS.d/next/Build/2018-06-04-21-34-34.bpo-5755.65GmCj.rst @@ -0,0 +1,3 @@ +Move ``-Wstrict-prototypes`` option to ``CFLAGS_NODIST`` from ``OPT``. This +option emitted annoying warnings when building extension modules written in +C++. @@ -6676,9 +6676,6 @@ if test "${OPT-unset}" = "unset" then case $GCC in yes) - if test "$CC" != 'g++' ; then - STRICT_PROTO="-Wstrict-prototypes" - fi # For gcc 4.x we need to use -fwrapv so lets check if its supported if "$CC" -v --help 2>/dev/null |grep -- -fwrapv > /dev/null; then WRAP="-fwrapv" @@ -6725,8 +6722,6 @@ then ;; esac - OPT="$OPT $STRICT_PROTO" - case $ac_sys_system in SCO_SV*) OPT="$OPT -m486 -DSCO5" ;; @@ -7094,6 +7089,47 @@ fi { $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 "$as_me:${as_lineno-$LINENO}: checking if we can turn on $CC strict-prototypes warning" >&5 +$as_echo_n "checking if we can turn on $CC strict-prototypes warning... " >&6; } + ac_save_cc="$CC" + CC="$CC -Werror -Wstrict-prototypes" + if ${ac_cv_enable_enable_strict_prototypes_warning+:} 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_strict_prototypes_warning=yes + +else + + ac_cv_enable_strict_prototypes_warning=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_strict_prototypes_warning" >&5 +$as_echo "$ac_cv_enable_strict_prototypes_warning" >&6; } + + if test $ac_cv_enable_strict_prototypes_warning = yes + then + CFLAGS_NODIST="$CFLAGS_NODIST -Wstrict-prototypes" + fi + { $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" diff --git a/configure.ac b/configure.ac index 189273d..67cf817 100644 --- a/configure.ac +++ b/configure.ac @@ -1421,9 +1421,6 @@ if test "${OPT-unset}" = "unset" then case $GCC in yes) - if test "$CC" != 'g++' ; then - STRICT_PROTO="-Wstrict-prototypes" - fi # For gcc 4.x we need to use -fwrapv so lets check if its supported if "$CC" -v --help 2>/dev/null |grep -- -fwrapv > /dev/null; then WRAP="-fwrapv" @@ -1470,8 +1467,6 @@ then ;; esac - OPT="$OPT $STRICT_PROTO" - case $ac_sys_system in SCO_SV*) OPT="$OPT -m486 -DSCO5" ;; @@ -1678,6 +1673,26 @@ yes) fi AC_MSG_RESULT($ac_cv_enable_unreachable_code_warning) + AC_MSG_CHECKING(if we can turn on $CC strict-prototypes warning) + ac_save_cc="$CC" + CC="$CC -Werror -Wstrict-prototypes" + AC_CACHE_VAL(ac_cv_enable_enable_strict_prototypes_warning, + AC_COMPILE_IFELSE( + [ + AC_LANG_PROGRAM([[]], [[]]) + ],[ + ac_cv_enable_strict_prototypes_warning=yes + ],[ + ac_cv_enable_strict_prototypes_warning=no + ])) + CC="$ac_save_cc" + AC_MSG_RESULT($ac_cv_enable_strict_prototypes_warning) + + if test $ac_cv_enable_strict_prototypes_warning = yes + then + CFLAGS_NODIST="$CFLAGS_NODIST -Wstrict-prototypes" + fi + AC_MSG_CHECKING(if we can make implicit function declaration an error in $CC) ac_save_cc="$CC" CC="$CC -Werror=implicit-function-declaration" |