- 06 Dec, 2021 9 commits
-
-
da-woods authored
Specifically this disallows memoryviews, but it extends to any future type that Cython has to generate manual reference counting code for. Closes https://github.com/cython/cython/issues/3085
-
da-woods authored
Fixes https://github.com/cython/cython/issues/4354
-
da-woods authored
As suggested in https://github.com/cython/cython/pull/4471#issuecomment-979489947 I don't think that we're getting any benefit from running the pypy known bugs test as part of the CI (and it's causing minor problems).
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
-
- 05 Dec, 2021 13 commits
-
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Marius Wachtler authored
Fixes an issue which Pyston triggers. See https://github.com/cython/cython/issues/4200
-
da-woods authored
Exception messages had changed a little
-
Stefan Behnel authored
-
Stefan Behnel authored
Let a tracing test run slower to prevent div-by-zero crashes in line_profiler due to measured zero runtime.
-
da-woods authored
Python 3.11 hid _PyLong_FormatAdvancedWriter and _PyFloat_FormatAdvancedWriter. I've disabled USE_UNICODE_WRITER for the moment but I suspect we want to find replacements in the longer term.
-
Stefan Behnel authored
-
da-woods authored
To remove a compiler warning since this slot was added in 3.11a2.
-
Marius Wachtler authored
Fixes an issue which Pyston triggers. See https://github.com/cython/cython/issues/4200
-
da-woods authored
To silence a compiler warning since it was added in Python 3.11a2. For 0.29.x branch only.
-
Stefan Behnel authored
-
da-woods authored
With reference to https://github.com/cython/cython/issues/4365#issuecomment-977023011 in Python 3 PyCode_NewEmpty does everything we need to set exception traceback code objects. This change is probably only a real improvement on Py3.11 onwards (where the replacement for PyCode_new is currently pretty slow). On earlier version it'll probably be fairly similar (maybe one extra allocation for the cline case?)
-
- 30 Nov, 2021 1 commit
-
-
Stefan Behnel authored
-
- 29 Nov, 2021 1 commit
-
-
da-woods authored
"Fixes" a few bugs that are just caused by very small implementation details, recategorize some others (e.g. those that cimport array are not expected to ever work)
-
- 26 Nov, 2021 1 commit
-
-
da-woods authored
Follow up to https://github.com/cython/cython/pull/4453 (01d323ab). That PR creates a temp that's only used in the limited API (and therefore causes warnings on all other paths)
-
- 25 Nov, 2021 3 commits
-
-
da-woods authored
Now that they've implemented the PyContextVar C API it segfaults instead of just failing.
-
Matti Picus authored
-
da-woods authored
With reference to https://github.com/cython/cython/issues/4365#issuecomment-977023011 in Python 3 PyCode_NewEmpty does everything we need to set exception traceback code objects. This change is probably only a real improvement on Py3.11 onwards (where the replacement for PyCode_new is currently pretty slow). On earlier version it'll probably be fairly similar (maybe one extra allocation for the cline case?)
-
- 24 Nov, 2021 2 commits
-
-
da-woods authored
Fixes https://github.com/cython/cython/issues/4296 If there was an error in preparing the function arguments after a memoryview had already been created, then the memoryview was not cleaned up correctly. (This leaves it in the slightly odd position where memoryviews are cleaned up in the wrapper function on failure, but in the main function on success. I kind of think it'd be better to clean them up in the wrapper function in both cases, but I'm reluctant to mess with a system that largely works.)
-
da-woods authored
For the Limited API, I'm not sure why USE_UNICODE_WRITER was ever the default - PyObject_Format() is part of the Limited API so should clearly be preferred. Python 3.11 hid _PyLong_FormatAdvancedWriter and _PyFloat_FormatAdvancedWriter. I've disabled USE_UNICODE_WRITER for the moment but I suspect we want to find replacements in the longer term.
-
- 23 Nov, 2021 3 commits
-
-
da-woods authored
Exception messages had changed a little
-
da-woods authored
If I understand correctly, the Cython-specific reimplementation of trashcan isn't needed of Python 3.8+ (because the patch it was based on was merged into Python). Therefore on these versions it can be disabled and the Python macros used instead. This is specifically needed for Python 3.11 since it removes or hides functions that are used in the Cython reimplementation. However, I've gone back further.
-
Matti Picus authored
-
- 18 Nov, 2021 7 commits
-
-
da-woods authored
The type for the self argument for binops depends on the compile directives. Therefore it needs a set of type slots that depends on the compiler directives. I've therefore got rid of the big static list of typeslots in TypeSlots.py in favour of a class that defines them all (and can be initialized with suitable compiler directives as needed). This involves moving a static dictionary and list out of the global scope too, so that they too can be part of the class. The passing of the dictionary and list to all the constructors is a bit awkward Fixes https://github.com/cython/cython/issues/4434
-
da-woods authored
Before this the _Py_TPFLAGS_HAVE_VECTORCALL was set all the time when using the limited api, but a CyFunction never sets up a vectorcall function. This caused basically all function calls to crash when binding=True with the limited API. Also removes the premature refnanny usage when setting up the module.
-
Jonathan Helgert authored
Disable on macOS due to bug in Apple clang++. See https://github.com/cython/cython/pull/4448#issuecomment-964405071
-
Stefan Behnel authored
-
Stefan Behnel authored
-
da-woods authored
* Initial support for Python 3.11 (GH-4414) https://github.com/cython/cython/issues/4414 * Add a basic replacement for PyCode_New(). An optimized versions would be nice, but this is intended to work sufficiently to start testing. Also, CPython 3.11 might actually add a new C-API function to simplify setting the current code position. That might be used instead. * Disable introspection of frame object with vectorcall This feature looked to only be used for early Python versions that don't have the full vectorcall protocol (and the contents of the frame object are changed in Python 3.11). * Use new C-API function to get the current frame on Python 3.11 alpha (GH-4427) Use the accessor function instead of the direct struct member (which is now the wrong type). https://github.com/cython/cython/issues/4427 Closes https://github.com/cython/cython/issues/4416 * Fix number of arguments * Disable CYTHON_FAST_PYCALL for 3.11 in Cython 0.29.x due to non-trivial incompatibilities. * Remove remanent of 3.8alpha/beta workaround for PyCode_New().
-
Max Bachmann authored
-