From 908778078736bd36f7a60a2d576d415cb8e000fa Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 22 May 2021 07:31:18 +0100 Subject: gentoo resync : 22.05.2021 --- .../cython-0.29.23-test_exceptions-py310.patch | 14 ++ .../files/cython-0.29.23-tracing-py310.patch | 213 +++++++++++++++++++++ 2 files changed, 227 insertions(+) create mode 100644 dev-python/cython/files/cython-0.29.23-test_exceptions-py310.patch create mode 100644 dev-python/cython/files/cython-0.29.23-tracing-py310.patch (limited to 'dev-python/cython/files') diff --git a/dev-python/cython/files/cython-0.29.23-test_exceptions-py310.patch b/dev-python/cython/files/cython-0.29.23-test_exceptions-py310.patch new file mode 100644 index 000000000000..0c9fb2c9ea56 --- /dev/null +++ b/dev-python/cython/files/cython-0.29.23-test_exceptions-py310.patch @@ -0,0 +1,14 @@ +--- a/tests/run/test_exceptions.pyx ++++ b/tests/run/test_exceptions.pyx +@@ -188,7 +188,10 @@ + + # should not apply to subclasses, see issue #31161 + s = '''if True:\nprint "No indent"''' +- ckmsg(s, "expected an indented block", IndentationError) ++ if sys.version_info >= (3, 10): ++ ckmsg(s, "expected an indented block after 'if' statement on line 1", IndentationError) ++ else: ++ ckmsg(s, "expected an indented block", IndentationError) + + s = '''if True:\n print()\n\texec "mixed tabs and spaces"''' + ckmsg(s, "inconsistent use of tabs and spaces in indentation", TabError) diff --git a/dev-python/cython/files/cython-0.29.23-tracing-py310.patch b/dev-python/cython/files/cython-0.29.23-tracing-py310.patch new file mode 100644 index 000000000000..ff0e45a646dc --- /dev/null +++ b/dev-python/cython/files/cython-0.29.23-tracing-py310.patch @@ -0,0 +1,213 @@ +From c9cccfeaf3f0e20c2bb14fc234e86f4fc8e4fe81 Mon Sep 17 00:00:00 2001 +From: Stefan Behnel +Date: Fri, 14 May 2021 19:39:58 +0200 +Subject: [PATCH] Adapt tracing code to Py3.10 beta 1. + +--- + Cython/Utility/Profile.c | 79 +++++++++++++++++++++++++--------------- + 1 file changed, 49 insertions(+), 30 deletions(-) + +diff --git a/Cython/Utility/Profile.c b/Cython/Utility/Profile.c +index 15ceb41cc2..2cd9af9da7 100644 +--- a/Cython/Utility/Profile.c ++++ b/Cython/Utility/Profile.c +@@ -47,13 +47,32 @@ + #define CYTHON_FRAME_DEL(frame) Py_CLEAR(frame) + #endif + +- #define __Pyx_TraceDeclarations \ +- static PyCodeObject *$frame_code_cname = NULL; \ +- CYTHON_FRAME_MODIFIER PyFrameObject *$frame_cname = NULL; \ +- int __Pyx_use_tracing = 0; ++ #define __Pyx_TraceDeclarations \ ++ static PyCodeObject *$frame_code_cname = NULL; \ ++ CYTHON_FRAME_MODIFIER PyFrameObject *$frame_cname = NULL; \ ++ int __Pyx_use_tracing = 0; + +- #define __Pyx_TraceFrameInit(codeobj) \ +- if (codeobj) $frame_code_cname = (PyCodeObject*) codeobj; ++ #define __Pyx_TraceFrameInit(codeobj) \ ++ if (codeobj) $frame_code_cname = (PyCodeObject*) codeobj; ++ ++#if PY_VERSION_HEX >= 0x030a00b1 ++ #define __Pyx_IsTracing(tstate, check_tracing, check_funcs) \ ++ (unlikely(tstate->cframe->use_tracing) && \ ++ (!(check_tracing) || !tstate->tracing) && \ ++ (!(check_funcs) || tstate->c_profilefunc || (CYTHON_TRACE && tstate->c_tracefunc))) ++ ++ #define __Pyx_SetTracing(tstate, enable) \ ++ (tstate)->cframe->use_tracing = (enable) ++ ++#else ++ #define __Pyx_IsTracing(tstate, check_tracing, check_funcs) \ ++ (unlikely(tstate->use_tracing) && \ ++ (!(check_tracing) || !tstate->tracing) && \ ++ (!(check_funcs) || tstate->c_profilefunc || (CYTHON_TRACE && tstate->c_tracefunc))) ++ ++ #define __Pyx_SetTracing(tstate, enable) \ ++ (tstate)->use_tracing = (enable) ++#endif + + #ifdef WITH_THREAD + #define __Pyx_TraceCall(funcname, srcfile, firstlineno, nogil, goto_error) \ +@@ -62,8 +81,7 @@ + PyThreadState *tstate; \ + PyGILState_STATE state = PyGILState_Ensure(); \ + tstate = __Pyx_PyThreadState_Current; \ +- if (unlikely(tstate->use_tracing) && !tstate->tracing && \ +- (tstate->c_profilefunc || (CYTHON_TRACE && tstate->c_tracefunc))) { \ ++ if (__Pyx_IsTracing(tstate, 1, 1)) { \ + __Pyx_use_tracing = __Pyx_TraceSetupAndCall(&$frame_code_cname, &$frame_cname, tstate, funcname, srcfile, firstlineno); \ + } \ + PyGILState_Release(state); \ +@@ -71,8 +89,7 @@ + } \ + } else { \ + PyThreadState* tstate = PyThreadState_GET(); \ +- if (unlikely(tstate->use_tracing) && !tstate->tracing && \ +- (tstate->c_profilefunc || (CYTHON_TRACE && tstate->c_tracefunc))) { \ ++ if (__Pyx_IsTracing(tstate, 1, 1)) { \ + __Pyx_use_tracing = __Pyx_TraceSetupAndCall(&$frame_code_cname, &$frame_cname, tstate, funcname, srcfile, firstlineno); \ + if (unlikely(__Pyx_use_tracing < 0)) goto_error; \ + } \ +@@ -80,8 +97,7 @@ + #else + #define __Pyx_TraceCall(funcname, srcfile, firstlineno, nogil, goto_error) \ + { PyThreadState* tstate = PyThreadState_GET(); \ +- if (unlikely(tstate->use_tracing) && !tstate->tracing && \ +- (tstate->c_profilefunc || (CYTHON_TRACE && tstate->c_tracefunc))) { \ ++ if (__Pyx_IsTracing(tstate, 1, 1)) { \ + __Pyx_use_tracing = __Pyx_TraceSetupAndCall(&$frame_code_cname, &$frame_cname, tstate, funcname, srcfile, firstlineno); \ + if (unlikely(__Pyx_use_tracing < 0)) goto_error; \ + } \ +@@ -91,10 +107,9 @@ + #define __Pyx_TraceException() \ + if (likely(!__Pyx_use_tracing)); else { \ + PyThreadState* tstate = __Pyx_PyThreadState_Current; \ +- if (tstate->use_tracing && \ +- (tstate->c_profilefunc || (CYTHON_TRACE && tstate->c_tracefunc))) { \ ++ if (__Pyx_IsTracing(tstate, 0, 1)) { \ + tstate->tracing++; \ +- tstate->use_tracing = 0; \ ++ __Pyx_SetTracing(tstate, 0); \ + PyObject *exc_info = __Pyx_GetExceptionTuple(tstate); \ + if (exc_info) { \ + if (CYTHON_TRACE && tstate->c_tracefunc) \ +@@ -104,7 +119,7 @@ + tstate->c_profileobj, $frame_cname, PyTrace_EXCEPTION, exc_info); \ + Py_DECREF(exc_info); \ + } \ +- tstate->use_tracing = 1; \ ++ __Pyx_SetTracing(tstate, 1); \ + tstate->tracing--; \ + } \ + } +@@ -113,13 +128,13 @@ + PyObject *type, *value, *traceback; + __Pyx_ErrFetchInState(tstate, &type, &value, &traceback); + tstate->tracing++; +- tstate->use_tracing = 0; ++ __Pyx_SetTracing(tstate, 0); + if (CYTHON_TRACE && tstate->c_tracefunc) + tstate->c_tracefunc(tstate->c_traceobj, frame, PyTrace_RETURN, result); + if (tstate->c_profilefunc) + tstate->c_profilefunc(tstate->c_profileobj, frame, PyTrace_RETURN, result); + CYTHON_FRAME_DEL(frame); +- tstate->use_tracing = 1; ++ __Pyx_SetTracing(tstate, 1); + tstate->tracing--; + __Pyx_ErrRestoreInState(tstate, type, value, traceback); + } +@@ -132,14 +147,14 @@ + PyThreadState *tstate; \ + PyGILState_STATE state = PyGILState_Ensure(); \ + tstate = __Pyx_PyThreadState_Current; \ +- if (tstate->use_tracing) { \ ++ if (__Pyx_IsTracing(tstate, 0, 0)) { \ + __Pyx_call_return_trace_func(tstate, $frame_cname, (PyObject*)result); \ + } \ + PyGILState_Release(state); \ + } \ + } else { \ + PyThreadState* tstate = __Pyx_PyThreadState_Current; \ +- if (tstate->use_tracing) { \ ++ if (__Pyx_IsTracing(tstate, 0, 0)) { \ + __Pyx_call_return_trace_func(tstate, $frame_cname, (PyObject*)result); \ + } \ + } \ +@@ -148,7 +163,7 @@ + #define __Pyx_TraceReturn(result, nogil) \ + if (likely(!__Pyx_use_tracing)); else { \ + PyThreadState* tstate = __Pyx_PyThreadState_Current; \ +- if (tstate->use_tracing) { \ ++ if (__Pyx_IsTracing(tstate, 0, 0)) { \ + __Pyx_call_return_trace_func(tstate, $frame_cname, (PyObject*)result); \ + } \ + } +@@ -176,9 +191,11 @@ + __Pyx_ErrFetchInState(tstate, &type, &value, &traceback); + __Pyx_PyFrame_SetLineNumber(frame, lineno); + tstate->tracing++; +- tstate->use_tracing = 0; ++ __Pyx_SetTracing(tstate, 0); ++ + ret = tstate->c_tracefunc(tstate->c_traceobj, frame, PyTrace_LINE, NULL); +- tstate->use_tracing = 1; ++ ++ __Pyx_SetTracing(tstate, 1); + tstate->tracing--; + if (likely(!ret)) { + __Pyx_ErrRestoreInState(tstate, type, value, traceback); +@@ -199,7 +216,7 @@ + PyThreadState *tstate; \ + PyGILState_STATE state = __Pyx_PyGILState_Ensure(); \ + tstate = __Pyx_PyThreadState_Current; \ +- if (unlikely(tstate->use_tracing && tstate->c_tracefunc && $frame_cname->f_trace)) { \ ++ if (__Pyx_IsTracing(tstate, 0, 0) && tstate->c_tracefunc && $frame_cname->f_trace) { \ + ret = __Pyx_call_line_trace_func(tstate, $frame_cname, lineno); \ + } \ + __Pyx_PyGILState_Release(state); \ +@@ -207,7 +224,7 @@ + } \ + } else { \ + PyThreadState* tstate = __Pyx_PyThreadState_Current; \ +- if (unlikely(tstate->use_tracing && tstate->c_tracefunc && $frame_cname->f_trace)) { \ ++ if (__Pyx_IsTracing(tstate, 0, 0) && tstate->c_tracefunc && $frame_cname->f_trace) { \ + int ret = __Pyx_call_line_trace_func(tstate, $frame_cname, lineno); \ + if (unlikely(ret)) goto_error; \ + } \ +@@ -217,7 +234,7 @@ + #define __Pyx_TraceLine(lineno, nogil, goto_error) \ + if (likely(!__Pyx_use_tracing)); else { \ + PyThreadState* tstate = __Pyx_PyThreadState_Current; \ +- if (unlikely(tstate->use_tracing && tstate->c_tracefunc && $frame_cname->f_trace)) { \ ++ if (__Pyx_IsTracing(tstate, 0, 0) && tstate->c_tracefunc && $frame_cname->f_trace) { \ + int ret = __Pyx_call_line_trace_func(tstate, $frame_cname, lineno); \ + if (unlikely(ret)) goto_error; \ + } \ +@@ -263,19 +280,21 @@ static int __Pyx_TraceSetupAndCall(PyCodeObject** code, + (*frame)->f_tstate = tstate; + #endif + } +- __Pyx_PyFrame_SetLineNumber(*frame, firstlineno); ++ __Pyx_PyFrame_SetLineNumber(*frame, firstlineno); ++ + retval = 1; + tstate->tracing++; +- tstate->use_tracing = 0; ++ __Pyx_SetTracing(tstate, 0); + __Pyx_ErrFetchInState(tstate, &type, &value, &traceback); ++ + #if CYTHON_TRACE + if (tstate->c_tracefunc) + retval = tstate->c_tracefunc(tstate->c_traceobj, *frame, PyTrace_CALL, NULL) == 0; + if (retval && tstate->c_profilefunc) + #endif + retval = tstate->c_profilefunc(tstate->c_profileobj, *frame, PyTrace_CALL, NULL) == 0; +- tstate->use_tracing = (tstate->c_profilefunc || +- (CYTHON_TRACE && tstate->c_tracefunc)); ++ ++ __Pyx_SetTracing(tstate, (tstate->c_profilefunc || (CYTHON_TRACE && tstate->c_tracefunc))); + tstate->tracing--; + if (retval) { + __Pyx_ErrRestoreInState(tstate, type, value, traceback); -- cgit v1.2.3