mirror of https://github.com/python/cpython
Issue 5553: Improved Py_LOCAL_INLINE to actually inline under compilers other than MSC
This commit is contained in:
parent
061b14a4a1
commit
a606faa491
|
@ -266,8 +266,6 @@ typedef Py_intptr_t Py_ssize_t;
|
|||
* should keep using static.
|
||||
*/
|
||||
|
||||
#undef USE_INLINE /* XXX - set via configure? */
|
||||
|
||||
#if defined(_MSC_VER)
|
||||
#if defined(PY_LOCAL_AGGRESSIVE)
|
||||
/* enable more aggressive optimization for visual studio */
|
||||
|
|
|
@ -12,6 +12,10 @@ What's New in Python 3.2 Alpha 2?
|
|||
Core and Builtins
|
||||
-----------------
|
||||
|
||||
- Issue #5553: The Py_LOCAL_INLINE macro now results in inlining on
|
||||
most platforms. Previously, it online inlined when using Microsoft
|
||||
Visual C.
|
||||
|
||||
- Issue #9712: Fix tokenize on identifiers that start with non-ascii names.
|
||||
|
||||
- Issue #9688: __basicsize__ and __itemsize__ must be accessed as Py_ssize_t.
|
||||
|
|
|
@ -67,9 +67,6 @@ static char copyright[] =
|
|||
/* enables fast searching */
|
||||
#define USE_FAST_SEARCH
|
||||
|
||||
/* enables aggressive inlining (always on for Visual C) */
|
||||
#undef USE_INLINE
|
||||
|
||||
/* enables copy/deepcopy handling (work in progress) */
|
||||
#undef USE_BUILTIN_COPY
|
||||
|
||||
|
|
|
@ -638,6 +638,7 @@ SVNVERSION
|
|||
ARFLAGS
|
||||
AR
|
||||
RANLIB
|
||||
USE_INLINE
|
||||
GNULD
|
||||
LINKCC
|
||||
RUNSHARED
|
||||
|
@ -4754,6 +4755,55 @@ esac
|
|||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $GNULD" >&5
|
||||
$as_echo "$GNULD" >&6; }
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5
|
||||
$as_echo_n "checking for inline... " >&6; }
|
||||
if test "${ac_cv_c_inline+set}" = set; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
ac_cv_c_inline=no
|
||||
for ac_kw in inline __inline__ __inline; do
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
#ifndef __cplusplus
|
||||
typedef int foo_t;
|
||||
static $ac_kw foo_t static_foo () {return 0; }
|
||||
$ac_kw foo_t foo () {return 0; }
|
||||
#endif
|
||||
|
||||
_ACEOF
|
||||
if ac_fn_c_try_compile "$LINENO"; then :
|
||||
ac_cv_c_inline=$ac_kw
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
test "$ac_cv_c_inline" != no && break
|
||||
done
|
||||
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5
|
||||
$as_echo "$ac_cv_c_inline" >&6; }
|
||||
|
||||
case $ac_cv_c_inline in
|
||||
inline | yes) ;;
|
||||
*)
|
||||
case $ac_cv_c_inline in
|
||||
no) ac_val=;;
|
||||
*) ac_val=$ac_cv_c_inline;;
|
||||
esac
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
#ifndef __cplusplus
|
||||
#define inline $ac_val
|
||||
#endif
|
||||
_ACEOF
|
||||
;;
|
||||
esac
|
||||
|
||||
if test "$ac_cv_c_inline" != no ; then
|
||||
$as_echo "#define USE_INLINE 1" >>confdefs.h
|
||||
|
||||
|
||||
fi
|
||||
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --enable-shared" >&5
|
||||
$as_echo_n "checking for --enable-shared... " >&6; }
|
||||
# Check whether --enable-shared was given.
|
||||
|
|
|
@ -660,6 +660,13 @@ case `"$ac_prog" -V 2>&1 < /dev/null` in
|
|||
esac
|
||||
AC_MSG_RESULT($GNULD)
|
||||
|
||||
AC_C_INLINE
|
||||
if test "$ac_cv_c_inline" != no ; then
|
||||
AC_DEFINE(USE_INLINE,1)
|
||||
AC_SUBST(USE_INLINE)
|
||||
fi
|
||||
|
||||
|
||||
AC_MSG_CHECKING(for --enable-shared)
|
||||
AC_ARG_ENABLE(shared,
|
||||
AS_HELP_STRING([--enable-shared], [disable/enable building shared python library]))
|
||||
|
|
|
@ -1043,6 +1043,9 @@
|
|||
/* Define to 0 if you don't want to use computed gotos in ceval.c. */
|
||||
#undef USE_COMPUTED_GOTOS
|
||||
|
||||
/* Define if the compiler supports the inline keyword */
|
||||
#undef USE_INLINE
|
||||
|
||||
/* Enable extensions on AIX 3, Interix. */
|
||||
#ifndef _ALL_SOURCE
|
||||
# undef _ALL_SOURCE
|
||||
|
|
Loading…
Reference in New Issue