mirror of
https://github.com/python/cpython.git
synced 2025-07-07 11:25:30 +00:00
gh-128629: Add _Py_PACK_VERSION for CPython's own definitions (GH-134247)
Add _Py_PACK_VERSION for CPython's own definitions Py_PACK_VERSION was added to limited API in 3.14, so if Py_LIMITED_API is lower, the macro can't be used. Add a private version that can be used in CPython headers for checks like `Py_LIMITED_API+0 >= _Py_PACK_VERSION(3, 14)`.
This commit is contained in:
parent
469a56470b
commit
0d499c7e93
2 changed files with 4 additions and 3 deletions
|
@ -231,12 +231,13 @@
|
|||
// "comparison of unsigned expression in '< 0' is always false".
|
||||
#define _Py_IS_TYPE_SIGNED(type) ((type)(-1) <= 0)
|
||||
|
||||
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030E0000 // 3.14
|
||||
// Version helpers. These are primarily macros, but have exported equivalents.
|
||||
#define _Py_PACK_VERSION(X, Y) _Py_PACK_FULL_VERSION(X, Y, 0, 0, 0)
|
||||
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= _Py_PACK_VERSION(3, 14)
|
||||
PyAPI_FUNC(uint32_t) Py_PACK_FULL_VERSION(int x, int y, int z, int level, int serial);
|
||||
PyAPI_FUNC(uint32_t) Py_PACK_VERSION(int x, int y);
|
||||
#define Py_PACK_FULL_VERSION _Py_PACK_FULL_VERSION
|
||||
#define Py_PACK_VERSION(X, Y) Py_PACK_FULL_VERSION(X, Y, 0, 0, 0)
|
||||
#define Py_PACK_VERSION _Py_PACK_VERSION
|
||||
#endif // Py_LIMITED_API < 3.14
|
||||
|
||||
|
||||
|
|
|
@ -669,5 +669,5 @@ Py_PACK_FULL_VERSION(int x, int y, int z, int level, int serial)
|
|||
uint32_t
|
||||
Py_PACK_VERSION(int x, int y)
|
||||
{
|
||||
return Py_PACK_FULL_VERSION(x, y, 0, 0, 0);
|
||||
return _Py_PACK_VERSION(x, y);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue