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.
|
* should keep using static.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#undef USE_INLINE /* XXX - set via configure? */
|
|
||||||
|
|
||||||
#if defined(_MSC_VER)
|
#if defined(_MSC_VER)
|
||||||
#if defined(PY_LOCAL_AGGRESSIVE)
|
#if defined(PY_LOCAL_AGGRESSIVE)
|
||||||
/* enable more aggressive optimization for visual studio */
|
/* enable more aggressive optimization for visual studio */
|
||||||
|
|
|
@ -12,6 +12,10 @@ What's New in Python 3.2 Alpha 2?
|
||||||
Core and Builtins
|
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 #9712: Fix tokenize on identifiers that start with non-ascii names.
|
||||||
|
|
||||||
- Issue #9688: __basicsize__ and __itemsize__ must be accessed as Py_ssize_t.
|
- Issue #9688: __basicsize__ and __itemsize__ must be accessed as Py_ssize_t.
|
||||||
|
|
|
@ -67,9 +67,6 @@ static char copyright[] =
|
||||||
/* enables fast searching */
|
/* enables fast searching */
|
||||||
#define USE_FAST_SEARCH
|
#define USE_FAST_SEARCH
|
||||||
|
|
||||||
/* enables aggressive inlining (always on for Visual C) */
|
|
||||||
#undef USE_INLINE
|
|
||||||
|
|
||||||
/* enables copy/deepcopy handling (work in progress) */
|
/* enables copy/deepcopy handling (work in progress) */
|
||||||
#undef USE_BUILTIN_COPY
|
#undef USE_BUILTIN_COPY
|
||||||
|
|
||||||
|
|
|
@ -638,6 +638,7 @@ SVNVERSION
|
||||||
ARFLAGS
|
ARFLAGS
|
||||||
AR
|
AR
|
||||||
RANLIB
|
RANLIB
|
||||||
|
USE_INLINE
|
||||||
GNULD
|
GNULD
|
||||||
LINKCC
|
LINKCC
|
||||||
RUNSHARED
|
RUNSHARED
|
||||||
|
@ -4754,6 +4755,55 @@ esac
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $GNULD" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $GNULD" >&5
|
||||||
$as_echo "$GNULD" >&6; }
|
$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 "$as_me:${as_lineno-$LINENO}: checking for --enable-shared" >&5
|
||||||
$as_echo_n "checking for --enable-shared... " >&6; }
|
$as_echo_n "checking for --enable-shared... " >&6; }
|
||||||
# Check whether --enable-shared was given.
|
# Check whether --enable-shared was given.
|
||||||
|
|
|
@ -660,6 +660,13 @@ case `"$ac_prog" -V 2>&1 < /dev/null` in
|
||||||
esac
|
esac
|
||||||
AC_MSG_RESULT($GNULD)
|
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_MSG_CHECKING(for --enable-shared)
|
||||||
AC_ARG_ENABLE(shared,
|
AC_ARG_ENABLE(shared,
|
||||||
AS_HELP_STRING([--enable-shared], [disable/enable building shared python library]))
|
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. */
|
/* Define to 0 if you don't want to use computed gotos in ceval.c. */
|
||||||
#undef USE_COMPUTED_GOTOS
|
#undef USE_COMPUTED_GOTOS
|
||||||
|
|
||||||
|
/* Define if the compiler supports the inline keyword */
|
||||||
|
#undef USE_INLINE
|
||||||
|
|
||||||
/* Enable extensions on AIX 3, Interix. */
|
/* Enable extensions on AIX 3, Interix. */
|
||||||
#ifndef _ALL_SOURCE
|
#ifndef _ALL_SOURCE
|
||||||
# undef _ALL_SOURCE
|
# undef _ALL_SOURCE
|
||||||
|
|
Loading…
Reference in New Issue