summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* Update changelog.Stefan Behnel2022-04-211-0/+28
|
* Avoid error if type doesn't have "__getstate__" when setting up pickle ↵da-woods2022-04-181-1/+7
| | | | | support. (GH-4739) Fixes a bug introduced by https://github.com/cython/cython/commit/ae4ade8daeae206db68583f2f4b9c1cbce9cba75 for PyPy.
* Revert "Avoid acquiring the GIL at the end of nogil functions (GH-3556) ↵scoder2022-04-164-57/+35
| | | | | | | | | | (GH-4703)" (GH-4742) PR 4703 was an incomplete backport of the changes needed for #3554 and generates incorrect C code. See https://github.com/cython/cython/issues/3554 Reverts https://github.com/cython/cython/pull/4703 This reverts commit d395a56f8e68ee563f866d0dec5a31a37f77df9e.
* Disable CYTHON_FAST_PYCALL on Py3.10 (0.29.x) (GH-4735)da-woods2022-04-152-1/+46
| | | | | It causes issues while profiling or debugging where global variables can end up inadvertently changed. Fixes https://github.com/cython/cython/issues/4609
* docs: fix code quoting error (GH-4729)da-woods2022-04-121-1/+1
|
* Fix UnionType.__setattr__ in Shadow.py (GH-4727)Jordan Brière2022-04-121-1/+1
| | | | | | | The condition should only evaluate to True when assigning __dict__, but it currently does for _, d, i, etc. as well as resulting in the following potential issues: * Non-member are being assigned to the object instead of raising. * The one-field rule can be bypassed. * Valid members that pass the condition are being assigned raw and are never cast to the specified type.
* Test for object.__getstate__ (new in Py3.11) in auto-pickling code (GH-4732)da-woods2022-04-121-2/+17
| | | | | The presence of this generic special method should not prevent Cython from making a class pickleable. Fixes https://github.com/cython/cython/issues/4730
* Prevent Python call with exception set in __Pyx_AddTraceback() (GH-4723)Jakub Kulík2022-04-071-1/+11
| | | Closes https://github.com/cython/cython/issues/4722
* Disable "CYTHON_UPDATE_DESCRIPTOR_DOC" for Pyston. It was previously only ↵Stefan Behnel2022-04-071-1/+1
| | | | enabled for CPython and should only have been enabled additionally for recent PyPy versions.
* Stop using "PyBytesObject.ob_shash" in Py3.11, where it is deprecated. It ↵Stefan Behnel2022-04-071-1/+1
| | | | | | was just an optimisation that isn't very important for byte strings any more. Closes https://github.com/cython/cython/issues/4721
* Allow setting descriptor docstring on PyPy>v7.3.9 (GH-4701)Matti Picus2022-04-012-2/+11
|
* Avoid acquiring the GIL at the end of nogil functions (GH-3556) (GH-4703)Oleksandr Pavlyk2022-03-314-35/+57
| | | | | | Acquire the GIL in nogil functions only when strictly needed on function exit, e.g. for cleaning up temp variables from with-gil blocks or adding tracebacks. Closes GH-3554 Closes GH-4637
* Do not redefine _USE_MATH_DEFINES in generated code (GH-4690)Yuriy Chernyshov2022-03-211-2/+4
| | | | Unconditionally adding `/D_USE_MATH_DEFINES` via cmdline triggers `-Wmacro-redefined` in cython-generated code.
* Fix test again: 'str' doesn't pickle well across the Py2/3 boundary.Stefan Behnel2022-03-141-13/+14
|
* Make the pickle test actually test that auto-pickling uses the right ↵Stefan Behnel2022-03-141-7/+13
| | | | checksum (and not a user implemented reduce method that uses no checksums at all).
* Make error message more readable by using hex integer values for all ↵Stefan Behnel2022-03-141-1/+1
| | | | presented checksums, not just the compile time ones.
* For the auto-pickle checksum, allow SHA-1 and SHA-256 which are used by ↵Stefan Behnel2022-03-142-5/+45
| | | | | | Cython 3.x pickles now. Otherwise stick to MD5 since that was used before. Closes https://github.com/cython/cython/issues/4680
* Import internal CPython frame header file in Python 3.11 (GH-4667)Thomas A Caswell2022-03-124-0/+25
| | | | | | | | | | | In https://github.com/python/cpython/pull/31530 https://bugs.python.org/issue46836 the `_frame` struct was moved to an internal header, however the public API is primarily read-only, and Cython needs to build PyFrameObjects so still import the internal headers. Also sets the Py_BUILD_CORE define for py311a6, trying to restrict it to the frame header.
* Add a test.Stefan Behnel2022-03-121-0/+17
|
* Resolve some doctest issues in Python 3.11.Stefan Behnel2022-02-243-3/+9
|
* Correctly generate function definions in finally clauses (GH-4652)da-woods2022-02-242-0/+20
| | | | | | | This creates two copies of the function, one for the exception case and one for the non-exception case. It's probably inefficient but the simplest solution. Fixes https://github.com/cython/cython/issues/4651.
* Try to fix test on Windows.Stefan Behnel2022-02-191-2/+2
|
* Fix release date.0.29.28Stefan Behnel2022-02-171-1/+1
|
* runtests: Print shard number also for each command in the EndToEnd test ↵Stefan Behnel2022-02-171-2/+2
| | | | error output to make it easy to find in the logs.
* Fix test on Windows.Stefan Behnel2022-02-171-2/+2
|
* runtests: print the shard number in front of the test name to show which was ↵Stefan Behnel2022-02-161-10/+22
| | | | the last test in case it hangs.
* runtests: Improve exception output.Stefan Behnel2022-02-161-5/+2
|
* runtests: Keep failing on test runner exceptions, because we can't continue ↵Stefan Behnel2022-02-161-0/+1
| | | | without a test result.
* Enable faulthandler around the test runs to get a notice on shard crashes.Stefan Behnel2022-02-161-1/+27
|
* Fix depfile tests on Windows.Stefan Behnel2022-02-163-19/+25
|
* Prepare release of 0.29.28.Stefan Behnel2022-02-162-1/+16
|
* Restore old PyEval_EvalCode() signature for older versions of PyPy (GH-4236)Matti Picus2022-02-041-1/+1
| | | | Partially reverts https://github.com/cython/cython/commit/1027db04fb7c5bbfea2b9bcdfce0b1f384e26a93
* Fix a large chunk of exc_info changes on 0.29.x (GH-4610)da-woods2022-02-021-2/+8
| | | | | | | By disabling "CYTHON_FAST_THREAD_STATE" and "CYTHON_USE_EXC_INFO_STACK" I think this still leaves some breakage in Coroutines.c but it's enough of a fix that Cython succeeds in building itself. Therefore I think it's worth doing now even if it doesn't fix everything. Related to https://github.com/cython/cython/issues/4500
* Prepare release of 0.29.27.0.29.27Stefan Behnel2022-01-282-3/+3
|
* Update changelog.Stefan Behnel2022-01-281-0/+8
|
* Remove test code that fails to compile in Py3.11 (and that isn't really ↵Stefan Behnel2022-01-281-10/+1
| | | | worth testing).
* Fix division-by-zero crash in tests when the C ompiler discards the ↵Stefan Behnel2022-01-281-0/+1
| | | | computational body of a Cython coroutine.
* Backport GH-4563 : generate dependency files (GH-4576)Evgeni Burovski2022-01-285-0/+166
| | | | | | | | Add a new command line option so that $ cythonize -M foo.pyx produces a file `foo.c.dep` with the dependencies of foo.pyx, in addition to `foo.c`. Try to write relative paths as much as possible. Backport of https://github.com/cython/cython/pull/4563
* Make the test files that depend on "cythonarrayutil.pxi" compilable by ↵Stefan Behnel2022-01-284-4/+4
| | | | themselves, without the search directory setup of the test runner.
* Minot test cleanup.Stefan Behnel2022-01-281-1/+3
|
* Keep utility code names across type specialisations and show it in the C ↵Stefan Behnel2022-01-281-1/+5
| | | | file instead of "None".
* Remove imports and @asyncio.coroutine decorators from test that are gone in ↵Stefan Behnel2022-01-281-3/+1
| | | | Python 3.11.
* Use "Py_ssize_t" instead of "int" for a node counter variable to avoid ↵Stefan Behnel2022-01-281-1/+1
| | | | uselessly limiting its value range.
* Update changelog.Stefan Behnel2022-01-281-0/+18
|
* Disable parallel builds in the 0.29.x branch since they currently misbehave ↵Stefan Behnel2022-01-251-2/+2
| | | | and fail in CI, trying to rebuild everything multiple times in parallel.
* Avoid C compiler warning about uninitialised "am_send" slots in Py3.10+.Stefan Behnel2022-01-213-3/+16
|
* Make sure that we raise a TypeError for invalid numbers of arguments for ↵Stefan Behnel2022-01-162-1/+10
| | | | | | | | | | range(). Cython incorrectly generated (optimised) range code for "for i in range(1,2,3,4)" as if it saw "for i in range(1,2,3)". This PR deactivates this optimization when too many arguments are provided, to match the behavior of Python. Original patch by Max Bachmann. Closes https://github.com/cython/cython/pull/4550
* Remove outdated warning about OpenMP < 3.0. Even the now-EOL Docker images ↵Stefan Behnel2022-01-161-4/+0
| | | | | | for manylinux2010 had that. Closes https://github.com/cython/cython/issues/4574
* Adapt to upcoming PyPy3.8/9 releases (GH4517)Matti Picus2021-12-255-12/+13
|
* Guard uses of tp_pypy_flags and tp_vectorcall on PyPy (GH-4509)Matti Picus2021-12-214-22/+22
| | | | | | | | | | | For PyPy3.8 (the current release is 7.3.7) * PyPy<7.3.8 declares a struct with the last fields tp_finalize, tp_print, tp_pypy_flags * PyPy>=7.3.8 will declare a struct with the last fields tp_finalize, tp_vectorcall, tp_print PyPy3.9 (not yet released) will declare a struct with the last fields tp_finalize, tp_vectorcall, tp_pypy_flags See https://foss.heptapod.net/pypy/pypy/-/issues/3618