cython: incompatibility with cpython main branch
c1b1f51cd1632f0b77dacd43092fb44ed5e053a9 / https://github.com/python/cpython/pull/101292 seems to have introduced changes that break the c generated by cython (with 3.0.0a11):
FAILED: numpy/random/bit_generator.cpython-312-x86_64-linux-gnu.so.p/meson-generated_numpy_random_bit_generator.pyx.c.o
ccache cc -Inumpy/random/bit_generator.cpython-312-x86_64-linux-gnu.so.p -Inumpy/random -I../../numpy/random -I../../numpy/random/src -Inumpy/core -I../../numpy/core -Inumpy/core/include -I../../numpy/core/include -I../../numpy/core/src/common -Inumpy -I/home/tcaswell/.pybuild/bleeding/include/python3.12 -fvisibility=hidden -fdiagnostics-color=always -w -std=c99 -O2 -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE=1 -D_LARGEFILE64_SOURCE=1 -DNPY_NO_DEPRECATED_API=0 -MD -MQ numpy/random/bit_generator.cpython-312-x86_64-linux-gnu.so.p/meson-generated_numpy_random_bit_generator.pyx.c.o -MF numpy/random/bit_generator.cpython-312-x86_64-linux-gnu.so.p/meson-generated_numpy_random_bit_generator.pyx.c.o.d -o numpy/random/bit_generator.cpython-312-x86_64-linux-gnu.so.p/meson-generated_numpy_random_bit_generator.pyx.c.o -c numpy/random/bit_generator.cpython-312-x86_64-linux-gnu.so.p/numpy/random/bit_generator.pyx.c
numpy/random/bit_generator.cpython-312-x86_64-linux-gnu.so.p/numpy/random/bit_generator.pyx.c: In function ‘__Pyx_PyInt_EqObjC’:
numpy/random/bit_generator.cpython-312-x86_64-linux-gnu.so.p/numpy/random/bit_generator.pyx.c:16932:51: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
16932 | const digit* digits = ((PyLongObject*)op1)->ob_digit;
| ^~
numpy/random/bit_generator.cpython-312-x86_64-linux-gnu.so.p/numpy/random/bit_generator.pyx.c: In function ‘__Pyx_PyInt_MultiplyObjC’:
numpy/random/bit_generator.cpython-312-x86_64-linux-gnu.so.p/numpy/random/bit_generator.pyx.c:17401:51: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
17401 | const digit* digits = ((PyLongObject*)op1)->ob_digit;
| ^~
numpy/random/bit_generator.cpython-312-x86_64-linux-gnu.so.p/numpy/random/bit_generator.pyx.c: In function ‘__Pyx_PyInt_As_uint32_t’:
numpy/random/bit_generator.cpython-312-x86_64-linux-gnu.so.p/numpy/random/bit_generator.pyx.c:21769:53: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
21769 | const digit* digits = ((PyLongObject*)x)->ob_digit;
| ^~
numpy/random/bit_generator.cpython-312-x86_64-linux-gnu.so.p/numpy/random/bit_generator.pyx.c:21824:53: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
21824 | const digit* digits = ((PyLongObject*)x)->ob_digit;
| ^~
numpy/random/bit_generator.cpython-312-x86_64-linux-gnu.so.p/numpy/random/bit_generator.pyx.c: In function ‘__Pyx_PyInt_As_long’:
numpy/random/bit_generator.cpython-312-x86_64-linux-gnu.so.p/numpy/random/bit_generator.pyx.c:21965:53: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
21965 | const digit* digits = ((PyLongObject*)x)->ob_digit;
| ^~
numpy/random/bit_generator.cpython-312-x86_64-linux-gnu.so.p/numpy/random/bit_generator.pyx.c:22020:53: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
22020 | const digit* digits = ((PyLongObject*)x)->ob_digit;
| ^~
numpy/random/bit_generator.cpython-312-x86_64-linux-gnu.so.p/numpy/random/bit_generator.pyx.c: In function ‘__Pyx_PyInt_As_int’:
numpy/random/bit_generator.cpython-312-x86_64-linux-gnu.so.p/numpy/random/bit_generator.pyx.c:22214:53: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
22214 | const digit* digits = ((PyLongObject*)x)->ob_digit;
| ^~
numpy/random/bit_generator.cpython-312-x86_64-linux-gnu.so.p/numpy/random/bit_generator.pyx.c:22269:53: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
22269 | const digit* digits = ((PyLongObject*)x)->ob_digit;
| ^~
numpy/random/bit_generator.cpython-312-x86_64-linux-gnu.so.p/numpy/random/bit_generator.pyx.c: In function ‘__Pyx_PyIndex_AsSsize_t’:
numpy/random/bit_generator.cpython-312-x86_64-linux-gnu.so.p/numpy/random/bit_generator.pyx.c:22823:45: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
22823 | const digit* digits = ((PyLongObject*)b)->ob_digit;
|
Trying to build the master branch of cython with the indicated commit of CPython fails with:
8074 | __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 59, __pyx_L1_error)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/tcaswell/.pybuild/bleeding/include/python3.12/dictobject.h:90,
from /home/tcaswell/.pybuild/bleeding/include/python3.12/Python.h:61,
from /home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:31:
/home/tcaswell/.pybuild/bleeding/include/python3.12/cpython/dictobject.h:22:34: note: declared here
22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag;
| ^~~~~~~~~~~~~~
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c: In function ‘__pyx_f_6Cython_8Compiler_7Parsing_p_typecast’:
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:12826:3: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
12826 | __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_p_c_declarator); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 354, __pyx_L1_error)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/tcaswell/.pybuild/bleeding/include/python3.12/cpython/dictobject.h:22:34: note: declared here
22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag;
| ^~~~~~~~~~~~~~
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c: In function ‘__pyx_f_6Cython_8Compiler_7Parsing_p_sizeof’:
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:13305:5: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
13305 | __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_p_c_declarator); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 384, __pyx_L1_error)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/tcaswell/.pybuild/bleeding/include/python3.12/cpython/dictobject.h:22:34: note: declared here
22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag;
| ^~~~~~~~~~~~~~
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c: In function ‘__pyx_f_6Cython_8Compiler_7Parsing_make_slice_nodes’:
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:18404:7: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
18404 | __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_make_slice_node); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 672, __pyx_L1_error)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/tcaswell/.pybuild/bleeding/include/python3.12/cpython/dictobject.h:22:34: note: declared here
22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag;
| ^~~~~~~~~~~~~~
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c: In function ‘__pyx_f_6Cython_8Compiler_7Parsing_p_f_string_expr’:
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:28929:3: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
28929 | __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_StringIO); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1246, __pyx_L1_error)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/tcaswell/.pybuild/bleeding/include/python3.12/cpython/dictobject.h:22:34: note: declared here
22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag;
| ^~~~~~~~~~~~~~
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c: In function ‘__pyx_f_6Cython_8Compiler_7Parsing_p_dict_or_set_maker’:
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:31378:9: warning: ‘Py_OptimizeFlag’ is deprecated [-Wdeprecated-declarations]
31378 | if (unlikely(!Py_OptimizeFlag)) {
| ^~
In file included from /home/tcaswell/.pybuild/bleeding/include/python3.12/Python.h:48:
/home/tcaswell/.pybuild/bleeding/include/python3.12/cpython/pydebug.h:13:37: note: declared here
13 | Py_DEPRECATED(3.12) PyAPI_DATA(int) Py_OptimizeFlag;
| ^~~~~~~~~~~~~~~
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c: In function ‘__pyx_f_6Cython_8Compiler_7Parsing_p_with_items’:
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:45188:7: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
45188 | __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_tentatively_scan); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2140, __pyx_L1_error)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/tcaswell/.pybuild/bleeding/include/python3.12/cpython/dictobject.h:22:34: note: declared here
22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag;
| ^~~~~~~~~~~~~~
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c: In function ‘__pyx_f_6Cython_8Compiler_7Parsing_p_with_template’:
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:46720:5: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
46720 | __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2213, __pyx_L1_error)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/tcaswell/.pybuild/bleeding/include/python3.12/cpython/dictobject.h:22:34: note: declared here
22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag;
| ^~~~~~~~~~~~~~
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c: In function ‘__pyx_f_6Cython_8Compiler_7Parsing_p_positional_and_keyword_args’:
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:52152:9: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
52152 | __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_p_c_base_type); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2518, __pyx_L1_error)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/tcaswell/.pybuild/bleeding/include/python3.12/cpython/dictobject.h:22:34: note: declared here
22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag;
| ^~~~~~~~~~~~~~
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:52177:9: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
52177 | __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_p_c_declarator); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2519, __pyx_L1_error)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/tcaswell/.pybuild/bleeding/include/python3.12/cpython/dictobject.h:22:34: note: declared here
22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag;
| ^~~~~~~~~~~~~~
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:52358:9: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
52358 | __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_p_c_base_type); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 2531, __pyx_L1_error)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/tcaswell/.pybuild/bleeding/include/python3.12/cpython/dictobject.h:22:34: note: declared here
22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag;
| ^~~~~~~~~~~~~~
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:52383:9: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
52383 | __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_p_c_declarator); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2532, __pyx_L1_error)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/tcaswell/.pybuild/bleeding/include/python3.12/cpython/dictobject.h:22:34: note: declared here
22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag;
| ^~~~~~~~~~~~~~
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c: In function ‘__pyx_f_6Cython_8Compiler_7Parsing_p_c_complex_base_type’:
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:53210:3: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
53210 | __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_p_c_base_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2573, __pyx_L1_error)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/tcaswell/.pybuild/bleeding/include/python3.12/cpython/dictobject.h:22:34: note: declared here
22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag;
| ^~~~~~~~~~~~~~
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:53235:3: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
53235 | __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_p_c_declarator); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2574, __pyx_L1_error)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/tcaswell/.pybuild/bleeding/include/python3.12/cpython/dictobject.h:22:34: note: declared here
22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag;
| ^~~~~~~~~~~~~~
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:53397:7: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
53397 | __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_p_c_base_type); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 2583, __pyx_L1_error)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/tcaswell/.pybuild/bleeding/include/python3.12/cpython/dictobject.h:22:34: note: declared here
22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag;
| ^~~~~~~~~~~~~~
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:53422:7: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
53422 | __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_p_c_declarator); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2584, __pyx_L1_error)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/tcaswell/.pybuild/bleeding/include/python3.12/cpython/dictobject.h:22:34: note: declared here
22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag;
| ^~~~~~~~~~~~~~
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c: In function ‘__pyx_f_6Cython_8Compiler_7Parsing_p_c_declarator’:
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:58711:7: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
58711 | __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_p_c_declarator); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 2903, __pyx_L1_error)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/tcaswell/.pybuild/bleeding/include/python3.12/cpython/dictobject.h:22:34: note: declared here
22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag;
| ^~~~~~~~~~~~~~
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c: In function ‘__pyx_f_6Cython_8Compiler_7Parsing_p_c_func_declarator’:
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:59607:3: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
59607 | __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_p_c_arg_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2936, __pyx_L1_error)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/tcaswell/.pybuild/bleeding/include/python3.12/cpython/dictobject.h:22:34: note: declared here
22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag;
| ^~~~~~~~~~~~~~
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c: In function ‘__pyx_f_6Cython_8Compiler_7Parsing_p_c_arg_decl’:
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:63494:3: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
63494 | __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_p_c_declarator); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3169, __pyx_L1_error)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/tcaswell/.pybuild/bleeding/include/python3.12/cpython/dictobject.h:22:34: note: declared here
22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag;
| ^~~~~~~~~~~~~~
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c: In function ‘__pyx_f_6Cython_8Compiler_7Parsing_p_c_struct_or_union_definition’:
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:67714:7: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
67714 | __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_Ctx); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3393, __pyx_L1_error)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/tcaswell/.pybuild/bleeding/include/python3.12/cpython/dictobject.h:22:34: note: declared here
22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag;
| ^~~~~~~~~~~~~~
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c: In function ‘__pyx_f_6Cython_8Compiler_7Parsing_p_c_func_or_var_declaration’:
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:69255:3: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
69255 | __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_p_c_declarator); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3475, __pyx_L1_error)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/tcaswell/.pybuild/bleeding/include/python3.12/cpython/dictobject.h:22:34: note: declared here
22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag;
| ^~~~~~~~~~~~~~
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:69592:5: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
69592 | __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Ctx); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3494, __pyx_L1_error)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/tcaswell/.pybuild/bleeding/include/python3.12/cpython/dictobject.h:22:34: note: declared here
22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag;
| ^~~~~~~~~~~~~~
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:69891:7: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
69891 | __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_p_c_declarator); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3515, __pyx_L1_error)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/tcaswell/.pybuild/bleeding/include/python3.12/cpython/dictobject.h:22:34: note: declared here
22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag;
| ^~~~~~~~~~~~~~
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c: In function ‘__pyx_f_6Cython_8Compiler_7Parsing_p_ctypedef_statement’:
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:70506:5: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
70506 | __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_p_c_declarator); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3552, __pyx_L1_error)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/tcaswell/.pybuild/bleeding/include/python3.12/cpython/dictobject.h:22:34: note: declared here
22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag;
| ^~~~~~~~~~~~~~
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c: In function ‘__pyx_f_6Cython_8Compiler_7Parsing_p_def_statement’:
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:71448:3: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
71448 | __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Ctx); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3603, __pyx_L1_error)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/tcaswell/.pybuild/bleeding/include/python3.12/cpython/dictobject.h:22:34: note: declared here
22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag;
| ^~~~~~~~~~~~~~
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c: In function ‘__pyx_f_6Cython_8Compiler_7Parsing_p_varargslist’:
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:71686:3: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
71686 | __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_p_c_arg_list); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3614, __pyx_L1_error)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/tcaswell/.pybuild/bleeding/include/python3.12/cpython/dictobject.h:22:34: note: declared here
22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag;
| ^~~~~~~~~~~~~~
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:71955:7: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
71955 | __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_p_c_arg_list); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3628, __pyx_L1_error)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/tcaswell/.pybuild/bleeding/include/python3.12/cpython/dictobject.h:22:34: note: declared here
22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag;
| ^~~~~~~~~~~~~~
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:72208:7: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
72208 | __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_p_c_arg_list); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 3638, __pyx_L1_error)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/tcaswell/.pybuild/bleeding/include/python3.12/cpython/dictobject.h:22:34: note: declared here
22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag;
| ^~~~~~~~~~~~~~
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c: In function ‘__pyx_f_6Cython_8Compiler_7Parsing_p_class_statement’:
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:73068:3: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
73068 | __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_Ctx); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 3673, __pyx_L1_error)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/tcaswell/.pybuild/bleeding/include/python3.12/cpython/dictobject.h:22:34: note: declared here
22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag;
| ^~~~~~~~~~~~~~
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c: In function ‘__pyx_f_6Cython_8Compiler_7Parsing_p_c_class_definition’:
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:74034:5: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
74034 | __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_Ctx); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 3719, __pyx_L1_error)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/tcaswell/.pybuild/bleeding/include/python3.12/cpython/dictobject.h:22:34: note: declared here
22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag;
| ^~~~~~~~~~~~~~
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c: In function ‘__pyx_f_6Cython_8Compiler_7Parsing_p_property_decl’:
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:75386:3: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
75386 | __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Ctx); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3789, __pyx_L1_error)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/tcaswell/.pybuild/bleeding/include/python3.12/cpython/dictobject.h:22:34: note: declared here
22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag;
| ^~~~~~~~~~~~~~
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c: In function ‘__pyx_f_6Cython_8Compiler_7Parsing_p_cpp_class_definition’:
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:79033:5: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
79033 | __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_p_c_base_type); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3963, __pyx_L1_error)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/tcaswell/.pybuild/bleeding/include/python3.12/cpython/dictobject.h:22:34: note: declared here
22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag;
| ^~~~~~~~~~~~~~
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:79105:7: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
79105 | __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_p_c_base_type); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3966, __pyx_L1_error)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/tcaswell/.pybuild/bleeding/include/python3.12/cpython/dictobject.h:22:34: note: declared here
22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag;
| ^~~~~~~~~~~~~~
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:79397:5: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
79397 | __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3982, __pyx_L1_error)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/tcaswell/.pybuild/bleeding/include/python3.12/cpython/dictobject.h:22:34: note: declared here
22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag;
| ^~~~~~~~~~~~~~
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c: In function ‘__pyx_pymod_exec_Parsing’:
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:84426:3: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
84426 | __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_Ctx); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2467, __pyx_L1_error)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/tcaswell/.pybuild/bleeding/include/python3.12/cpython/dictobject.h:22:34: note: declared here
22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag;
| ^~~~~~~~~~~~~~
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:84617:3: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
84617 | __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 2889, __pyx_L1_error)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/tcaswell/.pybuild/bleeding/include/python3.12/cpython/dictobject.h:22:34: note: declared here
22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag;
| ^~~~~~~~~~~~~~
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:84625:3: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
84625 | __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_Ctx); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 2889, __pyx_L1_error)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/tcaswell/.pybuild/bleeding/include/python3.12/cpython/dictobject.h:22:34: note: declared here
22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag;
| ^~~~~~~~~~~~~~
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:84695:3: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
84695 | __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3131, __pyx_L1_error)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/tcaswell/.pybuild/bleeding/include/python3.12/cpython/dictobject.h:22:34: note: declared here
22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag;
| ^~~~~~~~~~~~~~
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:84703:3: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
84703 | __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_Ctx); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3131, __pyx_L1_error)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/tcaswell/.pybuild/bleeding/include/python3.12/cpython/dictobject.h:22:34: note: declared here
22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag;
| ^~~~~~~~~~~~~~
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:84742:3: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
84742 | __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3853, __pyx_L1_error)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/tcaswell/.pybuild/bleeding/include/python3.12/cpython/dictobject.h:22:34: note: declared here
22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag;
| ^~~~~~~~~~~~~~
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:84747:3: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
84747 | __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3853, __pyx_L1_error)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/tcaswell/.pybuild/bleeding/include/python3.12/cpython/dictobject.h:22:34: note: declared here
22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag;
| ^~~~~~~~~~~~~~
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:84799:3: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
84799 | __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3904, __pyx_L1_error)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/tcaswell/.pybuild/bleeding/include/python3.12/cpython/dictobject.h:22:34: note: declared here
22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag;
| ^~~~~~~~~~~~~~
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:84804:3: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
84804 | __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Ctx); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3904, __pyx_L1_error)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/tcaswell/.pybuild/bleeding/include/python3.12/cpython/dictobject.h:22:34: note: declared here
22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag;
| ^~~~~~~~~~~~~~
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c: In function ‘__Pyx_get_tp_dict_version’:
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:85602:5: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
85602 | return likely(dict) ? __PYX_GET_DICT_VERSION(dict) : 0;
| ^~~~~~
/home/tcaswell/.pybuild/bleeding/include/python3.12/cpython/dictobject.h:22:34: note: declared here
22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag;
| ^~~~~~~~~~~~~~
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c: In function ‘__Pyx_get_object_dict_version’:
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:85614:5: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
85614 | return (dictptr && *dictptr) ? __PYX_GET_DICT_VERSION(*dictptr) : 0;
| ^~~~~~
/home/tcaswell/.pybuild/bleeding/include/python3.12/cpython/dictobject.h:22:34: note: declared here
22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag;
| ^~~~~~~~~~~~~~
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c: In function ‘__Pyx_object_dict_version_matches’:
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:85618:5: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
85618 | if (unlikely(!dict) || unlikely(tp_dict_version != __PYX_GET_DICT_VERSION(dict)))
| ^~
/home/tcaswell/.pybuild/bleeding/include/python3.12/cpython/dictobject.h:22:34: note: declared here
22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag;
| ^~~~~~~~~~~~~~
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c: In function ‘__Pyx__GetModuleGlobalName’:
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:85635:5: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
85635 | __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version)
| ^~~~~~~~~~~~~~~~~~~~~~~
/home/tcaswell/.pybuild/bleeding/include/python3.12/cpython/dictobject.h:22:34: note: declared here
22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag;
| ^~~~~~~~~~~~~~
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c: In function ‘__Pyx_PyInt_AddObjC’:
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:86589:51: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
86589 | const digit* digits = ((PyLongObject*)op1)->ob_digit;
| ^~
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c: In function ‘__Pyx_PyInt_BoolEqObjC’:
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:86942:51: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
86942 | const digit* digits = ((PyLongObject*)op1)->ob_digit;
| ^~
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c: In function ‘__Pyx_PyInt_EqObjC’:
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:87894:51: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
87894 | const digit* digits = ((PyLongObject*)op1)->ob_digit;
| ^~
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c: In function ‘__Pyx_CLineForTraceback’:
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:89459:9: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
89459 | __PYX_PY_DICT_LOOKUP_IF_MODIFIED(
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/tcaswell/.pybuild/bleeding/include/python3.12/cpython/dictobject.h:22:34: note: declared here
22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag;
| ^~~~~~~~~~~~~~
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:89459:9: warning: ‘ma_version_tag’ is deprecated [-Wdeprecated-declarations]
89459 | __PYX_PY_DICT_LOOKUP_IF_MODIFIED(
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/tcaswell/.pybuild/bleeding/include/python3.12/cpython/dictobject.h:22:34: note: declared here
22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag;
| ^~~~~~~~~~~~~~
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c: In function ‘__Pyx_PyInt_As_long’:
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:89879:53: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
89879 | const digit* digits = ((PyLongObject*)x)->ob_digit;
| ^~
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:89934:53: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
89934 | const digit* digits = ((PyLongObject*)x)->ob_digit;
| ^~
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c: In function ‘__Pyx_PyInt_As_int’:
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:90075:53: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
90075 | const digit* digits = ((PyLongObject*)x)->ob_digit;
| ^~
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:90130:53: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
90130 | const digit* digits = ((PyLongObject*)x)->ob_digit;
| ^~
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c: In function ‘__Pyx_PyIndex_AsSsize_t’:
/home/tcaswell/source/p/cython/cython/Cython/Compiler/Parsing.c:90677:45: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
90677 | const digit* digits = ((PyLongObject*)b)->ob_digit;
| ^~
error: command '/lib/ccache/bin/gcc' failed with exit code 1
About this issue
- Original URL
- State: closed
- Created a year ago
- Reactions: 1
- Comments: 28 (20 by maintainers)
Commits related to this issue
- Use a more correct and specific CPython internals guard in __Pyx_Raise(). See https://github.com/cython/cython/issues/5238#issuecomment-1426853108 — committed to cython/cython by scoder a year ago
- Fix PyLong digits access in CPython 3.12. Needed after https://github.com/python/cpython/pull/101292 See https://github.com/cython/cython/issues/5238 — committed to scoder/cython by scoder a year ago
- Fix PyLong digits access in CPython 3.12. Needed after https://github.com/python/cpython/pull/101292 See https://github.com/cython/cython/issues/5238 — committed to scoder/cython by scoder a year ago
- Disable access to the "ma_version_tag" dict field in CPython 3.12 since PEP 699 deprecates it. See https://github.com/cython/cython/issues/5238 See https://peps.python.org/pep-0699/ See https://gith... — committed to cython/cython by scoder a year ago
- Fix PyLong digits access in CPython 3.12. Needed after https://github.com/python/cpython/pull/101292 See https://github.com/cython/cython/issues/5238 — committed to cython/cython by scoder a year ago
- Use a more correct and specific CPython internals guard in __Pyx_Raise(). (GH-5330) This is a backport of https://github.com/cython/cython/commit/1dba3d3b44ce942dafe4c77dec4c64def22c57e1 from Cython... — committed to cython/cython by hrnciar a year ago
- fix: issues with build of uvloop on Python3.12 Uvloop won't build on Python3.12 yet. Here are some relate tickets: - https://github.com/MagicStack/uvloop/issues/531 - https://github.com/cython/cyth... — committed to vinitkumar/molotov by vinitkumar a year ago
- [workaround] `python:slim` + gcc woes At some point, `python:slim` lost its ability to build Pip packages that have C code in them. After running into https://github.com/docker-library/python/issues/... — committed to epfl-si/ansible-collection-docker by deleted user 8 months ago
- Issue #12 try hack from https://github.com/cython/cython/issues/5238 — committed to SciKit-Surgery/ndicapi by thompson318 4 months ago
- Issue #12 try hack from https://github.com/cython/cython/issues/5238 further down — committed to SciKit-Surgery/ndicapi by thompson318 4 months ago
@markshannon I raised similar concerns more than 15 years ago, but I was outnumbered and then called myself to silence. To be fair, my main use case was using Cython as a wrapping tool, and not the ultimate tool for boosting performance.
If @scoder and others still wants to keep these optimizations, I would like to propose a compromise. In the C code Cython generates, we dump a
#definemacro (inPY_VERSION_HEXformat?) with the latest X.Y CPython version we are absolutely sure the optimized C code compiles. At C compile time, ifPY_VERSION_HEXis larger than the supported version, then the generated C code by default disables all optimizations based in CPython API internals. That way the generated C code is future-proof, more resilient to internal CPython API changes. What do you think? Would that work to keep everyone cool and happy?