[Python-checkins] bpo-43688: Fix Py_LIMITED_API version of xxlimited (GH-25135)

vstinner webhook-mailer at python.org
Thu Apr 1 09:09:51 EDT 2021


https://github.com/python/cpython/commit/2ac0515027699b5694d9a6ff40f1ddaba82c74c2
commit: 2ac0515027699b5694d9a6ff40f1ddaba82c74c2
branch: master
author: Victor Stinner <vstinner at python.org>
committer: vstinner <vstinner at python.org>
date: 2021-04-01T15:09:33+02:00
summary:

bpo-43688: Fix Py_LIMITED_API version of xxlimited (GH-25135)

xxlimited targets Python 3.10, not Python 3.16: fix the hexadecimal
version number used in the Py_LIMITED_API macro.

files:
M Include/methodobject.h
M PCbuild/xxlimited.vcxproj
M setup.py

diff --git a/Include/methodobject.h b/Include/methodobject.h
index 7aa4e41ccca1f..9ffe8e1a3ddfc 100644
--- a/Include/methodobject.h
+++ b/Include/methodobject.h
@@ -79,15 +79,15 @@ PyAPI_FUNC(PyObject *) PyCMethod_New(PyMethodDef *, PyObject *,
 
 #define METH_COEXIST   0x0040
 
-#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03100000
-#define METH_FASTCALL  0x0080
+#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030a0000
+#  define METH_FASTCALL  0x0080
 #endif
 
 /* This bit is preserved for Stackless Python */
 #ifdef STACKLESS
-#define METH_STACKLESS 0x0100
+#  define METH_STACKLESS 0x0100
 #else
-#define METH_STACKLESS 0x0000
+#  define METH_STACKLESS 0x0000
 #endif
 
 /* METH_METHOD means the function stores an
diff --git a/PCbuild/xxlimited.vcxproj b/PCbuild/xxlimited.vcxproj
index ece169127a286..61e4e5784e7ab 100644
--- a/PCbuild/xxlimited.vcxproj
+++ b/PCbuild/xxlimited.vcxproj
@@ -94,7 +94,7 @@
   </PropertyGroup>
   <ItemDefinitionGroup>
     <ClCompile>
-      <PreprocessorDefinitions>%(PreprocessorDefinitions);Py_LIMITED_API=0x03100000</PreprocessorDefinitions>
+      <PreprocessorDefinitions>%(PreprocessorDefinitions);Py_LIMITED_API=0x030A0000</PreprocessorDefinitions>
     </ClCompile>
     <Link>
       <AdditionalDependencies>wsock32.lib;%(AdditionalDependencies)</AdditionalDependencies>
diff --git a/setup.py b/setup.py
index e3fbd78bc08b8..75bd16375063a 100644
--- a/setup.py
+++ b/setup.py
@@ -1867,7 +1867,7 @@ def detect_modules(self):
         if 'd' not in sysconfig.get_config_var('ABIFLAGS'):
             # Non-debug mode: Build xxlimited with limited API
             self.add(Extension('xxlimited', ['xxlimited.c'],
-                               define_macros=[('Py_LIMITED_API', '0x03100000')]))
+                               define_macros=[('Py_LIMITED_API', '0x030a0000')]))
             self.add(Extension('xxlimited_35', ['xxlimited_35.c'],
                                define_macros=[('Py_LIMITED_API', '0x03050000')]))
         else:



More information about the Python-checkins mailing list