- 29 Apr, 2020 5 commits
-
-
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 13 commits
-
-
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.
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
Clean up and repair the type spec generation for the limited API, leaving more of the work to the TypeSlots instead of special-casing all sorts of things.
-
Stefan Behnel authored
Ideally, most of the code that is uninteresting for users should be out of the way and not reside before the translated user code. Mark all code section name beginnings in the C code file to make them easier to follow and move around.
-
Stefan Behnel authored
Fix C-code indentation of PyModuleDef struct by avoiding duplicate opening braces in conditional code.
-
Jeroen Demeyer authored
-
da-woods authored
* Changed always_allow_keywords_T295 for Py3.9 https://bugs.python.org/issue37645 appears to change some error messages slightly (including the qualname and not just the function name). This change just allows doctest to cope with both the new and old messages
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
-