changeset: 100447:61f8f7610a88 branch: 3.5 parent: 100444:a6b07ad3d14d user: Ned Deily date: Tue Mar 08 00:28:37 2016 -0500 files: Misc/NEWS aclocal.m4 configure configure.ac description: Issue #24324: Do not enable unreachable code warnings when using gcc as the option does not work correctly in older versions of gcc and has been silently removed as of gcc-4.5. diff -r a6b07ad3d14d -r 61f8f7610a88 Misc/NEWS --- a/Misc/NEWS Mon Mar 07 14:51:59 2016 -0500 +++ b/Misc/NEWS Tue Mar 08 00:28:37 2016 -0500 @@ -310,6 +310,10 @@ - Issue #25136: Support Apple Xcode 7's new textual SDK stub libraries. +- Issue #24324: Do not enable unreachable code warnings when using + gcc as the option does not work correctly in older versions of gcc + and has been silently removed as of gcc-4.5. + Windows ------- diff -r a6b07ad3d14d -r 61f8f7610a88 aclocal.m4 --- a/aclocal.m4 Mon Mar 07 14:51:59 2016 -0500 +++ b/aclocal.m4 Tue Mar 08 00:28:37 2016 -0500 @@ -1,6 +1,6 @@ -# generated automatically by aclocal 1.14.1 -*- Autoconf -*- +# generated automatically by aclocal 1.15 -*- Autoconf -*- -# Copyright (C) 1996-2013 Free Software Foundation, Inc. +# Copyright (C) 1996-2014 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -r a6b07ad3d14d -r 61f8f7610a88 configure --- a/configure Mon Mar 07 14:51:59 2016 -0500 +++ b/configure Tue Mar 08 00:28:37 2016 -0500 @@ -6963,15 +6963,24 @@ CFLAGS="$save_CFLAGS" CC="$ac_save_cc" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_enable_unreachable_code_warning" >&5 -$as_echo "$ac_cv_enable_unreachable_code_warning" >&6; } # Don't enable unreachable code warning in debug mode, since it usually # results in non-standard code paths. - if test $ac_cv_enable_unreachable_code_warning = yes && test "$Py_DEBUG" != "true" + # Issue #24324: Unfortunately, the unreachable code warning does not work + # correctly on gcc and has been silently removed from the compiler. + # It is supported on clang but on OS X systems gcc may be an alias + # for clang. Try to determine if the compiler is not really gcc and, + # if so, only then enable the warning. + if test $ac_cv_enable_unreachable_code_warning = yes && \ + test "$Py_DEBUG" != "true" && \ + test -z "`$CC --version 2>/dev/null | grep 'Free Software Foundation'`" then BASECFLAGS="$BASECFLAGS -Wunreachable-code" + else + ac_cv_enable_unreachable_code_warning=no 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; } # if using gcc on alpha, use -mieee to get (near) full IEEE 754 # support. Without this, treatment of subnormals doesn't follow diff -r a6b07ad3d14d -r 61f8f7610a88 configure.ac --- a/configure.ac Mon Mar 07 14:51:59 2016 -0500 +++ b/configure.ac Tue Mar 08 00:28:37 2016 -0500 @@ -1483,14 +1483,23 @@ ])) CFLAGS="$save_CFLAGS" CC="$ac_save_cc" - AC_MSG_RESULT($ac_cv_enable_unreachable_code_warning) # Don't enable unreachable code warning in debug mode, since it usually # results in non-standard code paths. - if test $ac_cv_enable_unreachable_code_warning = yes && test "$Py_DEBUG" != "true" + # Issue #24324: Unfortunately, the unreachable code warning does not work + # correctly on gcc and has been silently removed from the compiler. + # It is supported on clang but on OS X systems gcc may be an alias + # for clang. Try to determine if the compiler is not really gcc and, + # if so, only then enable the warning. + if test $ac_cv_enable_unreachable_code_warning = yes && \ + test "$Py_DEBUG" != "true" && \ + test -z "`$CC --version 2>/dev/null | grep 'Free Software Foundation'`" then BASECFLAGS="$BASECFLAGS -Wunreachable-code" + else + ac_cv_enable_unreachable_code_warning=no fi + AC_MSG_RESULT($ac_cv_enable_unreachable_code_warning) # if using gcc on alpha, use -mieee to get (near) full IEEE 754 # support. Without this, treatment of subnormals doesn't follow