summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorINADA Naoki <methane@users.noreply.github.com>2018-06-05 11:40:53 (GMT)
committerGitHub <noreply@github.com>2018-06-05 11:40:53 (GMT)
commite33648484775fa533fc8f1e5cc45f60061d29d54 (patch)
treeb849302a2a14c737ae813cd9e0c4185221c2d4be
parent5f48e2644dcfb47f0bbc0fcdc2b103a19bdec288 (diff)
downloadcpython-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.rst3
-rwxr-xr-xconfigure46
-rw-r--r--configure.ac25
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++.
diff --git a/configure b/configure
index f73334d..f5bea4f 100755
--- a/configure
+++ b/configure
@@ -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"