bpo-30104: configure now detects when cc is clang (#1233)

Detect when the "cc" compiler (and the $CC variable) is the Clang
compiler. The test is needed to add the -fno-strict-aliasing option
on FreeBSD where cc is clang.
This commit is contained in:
Victor Stinner 2017-04-21 12:35:24 +02:00 committed by GitHub
parent 28205b203a
commit 35f3d240ee
2 changed files with 42 additions and 16 deletions

29
configure vendored
View File

@ -6812,19 +6812,32 @@ then
WRAP="-fwrapv" WRAP="-fwrapv"
fi fi
# Clang also needs -fwrapv
case $CC in case $CC in
*clang*) *clang*)
WRAP="-fwrapv" cc_is_clang=1
# bpo-30104: Python/dtoa.c requires to be build with
# -fno-strict-aliasing to fix compiler issue on the
# double/ULong[2] union using clang 4.0 and optimization level
# -O2 or higher
# https://bugs.llvm.org//show_bug.cgi?id=31928
ALIASING="-fno-strict-aliasing"
;; ;;
*)
if $CC --version 2>&1 | grep -q clang
then
cc_is_clang=1
else
cc_is_clang=
fi
esac esac
if test -n "${cc_is_clang}"
then
# Clang also needs -fwrapv
WRAP="-fwrapv"
# bpo-30104: Python/dtoa.c requires to be build with
# -fno-strict-aliasing to fix compiler issue on the
# double/ULong[2] union using clang 4.0 and optimization level
# -O2 or higher
# https://bugs.llvm.org//show_bug.cgi?id=31928
ALIASING="-fno-strict-aliasing"
fi
case $ac_cv_prog_cc_g in case $ac_cv_prog_cc_g in
yes) yes)
if test "$Py_DEBUG" = 'true' ; then if test "$Py_DEBUG" = 'true' ; then

View File

@ -1452,19 +1452,32 @@ then
WRAP="-fwrapv" WRAP="-fwrapv"
fi fi
# Clang also needs -fwrapv
case $CC in case $CC in
*clang*) *clang*)
WRAP="-fwrapv" cc_is_clang=1
# bpo-30104: Python/dtoa.c requires to be build with
# -fno-strict-aliasing to fix compiler issue on the
# double/ULong[2] union using clang 4.0 and optimization level
# -O2 or higher
# https://bugs.llvm.org//show_bug.cgi?id=31928
ALIASING="-fno-strict-aliasing"
;; ;;
*)
if $CC --version 2>&1 | grep -q clang
then
cc_is_clang=1
else
cc_is_clang=
fi
esac esac
if test -n "${cc_is_clang}"
then
# Clang also needs -fwrapv
WRAP="-fwrapv"
# bpo-30104: Python/dtoa.c requires to be build with
# -fno-strict-aliasing to fix compiler issue on the
# double/ULong[2] union using clang 4.0 and optimization level
# -O2 or higher
# https://bugs.llvm.org//show_bug.cgi?id=31928
ALIASING="-fno-strict-aliasing"
fi
case $ac_cv_prog_cc_g in case $ac_cv_prog_cc_g in
yes) yes)
if test "$Py_DEBUG" = 'true' ; then if test "$Py_DEBUG" = 'true' ; then