[Python-checkins] r84379 - in python/branches/py3k: Include/pyport.h Misc/NEWS Modules/_sre.c configure configure.in pyconfig.h.in
daniel.stutzbach
python-checkins at python.org
Tue Aug 31 21:51:08 CEST 2010
Author: daniel.stutzbach
Date: Tue Aug 31 21:51:07 2010
New Revision: 84379
Log:
Issue 5553: Improved Py_LOCAL_INLINE to actually inline under compilers other than MSC
Modified:
python/branches/py3k/Include/pyport.h
python/branches/py3k/Misc/NEWS
python/branches/py3k/Modules/_sre.c
python/branches/py3k/configure
python/branches/py3k/configure.in
python/branches/py3k/pyconfig.h.in
Modified: python/branches/py3k/Include/pyport.h
==============================================================================
--- python/branches/py3k/Include/pyport.h (original)
+++ python/branches/py3k/Include/pyport.h Tue Aug 31 21:51:07 2010
@@ -266,8 +266,6 @@
* 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 */
Modified: python/branches/py3k/Misc/NEWS
==============================================================================
--- python/branches/py3k/Misc/NEWS (original)
+++ python/branches/py3k/Misc/NEWS Tue Aug 31 21:51:07 2010
@@ -12,6 +12,10 @@
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.
Modified: python/branches/py3k/Modules/_sre.c
==============================================================================
--- python/branches/py3k/Modules/_sre.c (original)
+++ python/branches/py3k/Modules/_sre.c Tue Aug 31 21:51:07 2010
@@ -67,9 +67,6 @@
/* 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
Modified: python/branches/py3k/configure
==============================================================================
--- python/branches/py3k/configure (original)
+++ python/branches/py3k/configure Tue Aug 31 21:51:07 2010
@@ -638,6 +638,7 @@
ARFLAGS
AR
RANLIB
+USE_INLINE
GNULD
LINKCC
RUNSHARED
@@ -4754,6 +4755,55 @@
{ $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.
Modified: python/branches/py3k/configure.in
==============================================================================
--- python/branches/py3k/configure.in (original)
+++ python/branches/py3k/configure.in Tue Aug 31 21:51:07 2010
@@ -660,6 +660,13 @@
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]))
Modified: python/branches/py3k/pyconfig.h.in
==============================================================================
--- python/branches/py3k/pyconfig.h.in (original)
+++ python/branches/py3k/pyconfig.h.in Tue Aug 31 21:51:07 2010
@@ -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
More information about the Python-checkins
mailing list