mirror of https://github.com/python/cpython
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:
parent
b9ebde8db7
commit
0515eafe55
|
@ -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.
|
|
@ -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
|
||||
|
|
30
configure.ac
30
configure.ac
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue