bpo-46600: ./configure --with-pydebug uses -Og with clang (GH-31052)

Fix the test checking if the C compiler supports -Og option in the
./configure script to also use -Og on clang which supports it.
This commit is contained in:
Victor Stinner 2022-02-01 14:47:12 +01:00 committed by GitHub
parent b9ebde8db7
commit 0515eafe55
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 71 additions and 14 deletions

View file

@ -0,0 +1,3 @@
Fix the test checking if the C compiler supports ``-Og`` option in the
``./configure`` script to also use ``-Og`` on clang which supports it. Patch
by Victor Stinner.

52
configure generated vendored
View file

@ -7623,6 +7623,50 @@ case $CC in
fi
esac
# Check if CC supports -Og optimization level
save_CFLAGS=$CFLAGS
CFLAGS="-Og"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports -Og optimization level" >&5
$as_echo_n "checking if $CC supports -Og optimization level... " >&6; }
if ${ac_cv_cc_supports_og+:} 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_cc_supports_og=yes
else
ac_cv_cc_supports_og=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cc_supports_og" >&5
$as_echo "$ac_cv_cc_supports_og" >&6; }
CFLAGS=$save_CFLAGS
# Optimization messes up debuggers, so turn it off for
# debug builds.
PYDEBUG_CFLAGS="-O0"
if test "x$ac_cv_cc_supports_og" = xyes; then :
PYDEBUG_CFLAGS="-Og"
fi
# tweak OPT based on compiler and platform, only if the user didn't set
# it on the command line
@ -7648,13 +7692,7 @@ then
case $ac_cv_prog_cc_g in
yes)
if test "$Py_DEBUG" = 'true' ; then
# Optimization messes up debuggers, so turn it off for
# debug builds.
if "$CC" -v --help 2>/dev/null |grep -- -Og > /dev/null; then
OPT="-g -Og -Wall"
else
OPT="-g -O0 -Wall"
fi
OPT="-g $PYDEBUG_CFLAGS -Wall"
else
OPT="-g $WRAP -O3 -Wall"
fi

View file

@ -1791,6 +1791,28 @@ case $CC in
fi
esac
# Check if CC supports -Og optimization level
_SAVE_VAR([CFLAGS])
CFLAGS="-Og"
AC_CACHE_CHECK([if $CC supports -Og optimization level],
[ac_cv_cc_supports_og],
AC_COMPILE_IFELSE(
[
AC_LANG_PROGRAM([[]], [[]])
],[
ac_cv_cc_supports_og=yes
],[
ac_cv_cc_supports_og=no
])
)
_RESTORE_VAR([CFLAGS])
# Optimization messes up debuggers, so turn it off for
# debug builds.
PYDEBUG_CFLAGS="-O0"
AS_VAR_IF([ac_cv_cc_supports_og], [yes],
[PYDEBUG_CFLAGS="-Og"])
# tweak OPT based on compiler and platform, only if the user didn't set
# it on the command line
AC_SUBST(OPT)
@ -1816,13 +1838,7 @@ then
case $ac_cv_prog_cc_g in
yes)
if test "$Py_DEBUG" = 'true' ; then
# Optimization messes up debuggers, so turn it off for
# debug builds.
if "$CC" -v --help 2>/dev/null |grep -- -Og > /dev/null; then
OPT="-g -Og -Wall"
else
OPT="-g -O0 -Wall"
fi
OPT="-g $PYDEBUG_CFLAGS -Wall"
else
OPT="-g $WRAP -O3 -Wall"
fi