- 29 Apr, 2020 17 commits
-
-
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Kamekameha authored
These are mutable and therefore affect the stdlib build_ext options. Fixes #2209
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
This was previously broken by the introduction of the "__PYX_ERR()" macro.
-
Stefan Behnel authored
-
Stefan Behnel authored
This allows taking advantage of the automatic "with gil" block handling for raising exceptions, allows proper control flow analysis, etc.
-
Stefan Behnel authored
Always call the refnanny on function exit if we set it up on entry, not just in GIL-owning functions. This was previously using inconsistent conditions on entry and exit of the function.
-
Stefan Behnel authored
Fix expected test warnings after fixing the pipeline that extracts entries from generated Cython utility code. Previously, it was emitting warnings twice because it was running the analysis twice.
-
Stefan Behnel authored
This was previously broken by the introduction of the "__PYX_ERR()" macro.
-
Stefan Behnel authored
-
Stefan Behnel authored
Fix a typo that prevented UtilityCode.get_tree(entries_only=True) from working as expected. It looks like this doesn't make a difference for the generated C code (at least for the pickling, C++ STL and memoryview tests), but it should reduce the time it takes to collect the symtab entries defined in the tree.
-
Stefan Behnel authored
-
Stefan Behnel authored
-
- 28 Apr, 2020 14 commits
-
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
Instead of simply asserting that the error exit case and the success exit case of a nogil function are aligned, make sure they are before joining them back together. This is necessary because the error code path is more likely to require the GIL for cleanup operations than the success path – which is a good thing, actually, so we try to streamline the success case at the expense of more work on the error path.
-
Stefan Behnel authored
Move assertion where it actually belongs, since it does not apply to the buffer cleanup case (which semantically jumps over it with a 'goto').
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
Move the branch-hint generation from Nodes.py into Optimize.py to make it available to tree assertion tests (and add such a test).
-
Stefan Behnel authored
Support the 'assert' statement in nogil sections, as long as it has a plain C condition and constant message (string) value.
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
Closes #3558.
-
Stefan Behnel authored
-
- 27 Apr, 2020 8 commits
-
-
Stefan Behnel authored
Would be nice to allow this also for the print() function, but that's tricky because we have to insert the "GILStatNode" before analysing the declarations, which is when we learn if it's really the builtin print function or something else.
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
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.
-
da-woods authored
Allow C functions/variables with names starting with "__" to be found from within classes, even though their names would normally be inaccessible due to the Python "class private names" mechanism. https://github.com/cython/cython/issues/3544 Warn about unmangled Python names that are being found and used, since they do not adhere to Python lookup rules. Removed `mangle_special_name` in favour of `mangle_class_private_name`, which previously applied slightly different rules for creating vs looking up variables. Closes #3548.
-
Stefan Behnel authored
This reverts commit f09e61ab.
-
- 26 Apr, 2020 1 commit
-
-
Stefan Behnel authored
Fix reference to missing utility function, which is not more than an alias to CPython's "PyObject_GenericGetAttr" in the limited API case.
-