summaryrefslogtreecommitdiff
path: root/Cython/Compiler/ModuleNode.py
Commit message (Collapse)AuthorAgeFilesLines
* Simplify the utility code loading by requiring the source file to be named ↵simplify_utility_loadingStefan Behnel2019-12-231-1/+1
| | | | explicitly. It was almost always passed anyway, so having a non-trivial search algorithm in place for a rare case of unnecessary laziness is just code bloat.
* unicode imports (#3119)da-woods2019-09-301-34/+87
| | | | | * Handle normalization of unicode identifiers * Support unicode characters in module names (Only valid under Python 3)
* Make sure to include "Python.h" also from the "public" header file, which ↵Stefan Behnel2019-09-061-0/+1
| | | | | | depends on its declarations. Closes #3133.
* Remove dead code.Stefan Behnel2019-09-061-1/+0
|
* Unicode identifiers (PEP 3131) (GH-3081)da-woods2019-08-241-17/+22
| | | Closes #2601
* Fix error positions of undefined builtins and constants (GH-3030)Orivej Desh2019-07-051-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently Cython generates code like this: int __Pyx_InitCachedBuiltins(void) { __pyx_builtin_NAME = __Pyx_GetBuiltinName(...); if (!__pyx_builtin_NAME) __PYX_ERR(1, 44, __pyx_L1_error) } int __pyx_pymod_exec_MODULE(PyObject *__pyx_pyinit_module) { if (__Pyx_InitCachedBuiltins() < 0) __PYX_ERR(1, 1, __pyx_L1_error) } When InitCachedBuiltins and InitCachedConstants call __PYX_ERR, they pass the file and line where a builtin is used, but then pymod_exec overwrites it with 1 and 1, and the error message looks like this: File "FILE", line 1, in init MODULE. import os NameError: name 'NAME' is not defined After this change Cython generates: int __pyx_pymod_exec_MODULE(PyObject *__pyx_pyinit_module) { if (__Pyx_InitCachedBuiltins() < 0) goto __pyx_L1_error; } and prints: File "FILE", line 44, in init MODULE. print(NAME) NameError: name 'NAME' is not defined
* Avoid checking Py_TPFLAGS_HAVE_FINALIZE in Py3.8 and later since CPython now ↵Stefan Behnel2019-06-011-1/+2
| | | | relies on the feature being there.
* Support showing the complete C code in the annotated html-file (GH-2858)realead2019-05-301-1/+2
|
* Clean weakrefs before calling user's deallocPablo Galindo2019-04-241-3/+7
| | | | | | | We must clean the weakreferences before calling the user's __dealloc__ because if the __dealloc__ releases the GIL, a weakref can be dereferenced accessing the object in an inconsistent state or resurrecting it.
* Avoid generating a tp_new() function for extension types that do not need ↵Stefan Behnel2019-03-221-2/+5
| | | | | | their own one. See #1555.
* Clarify a variable name and simplify its usage.Stefan Behnel2019-03-221-6/+8
|
* Merge branch '0.29.x'Stefan Behnel2019-03-041-1/+1
|\
| * At module cleanup time, clear the module dict before the global references ↵Stefan Behnel2019-03-041-1/+1
| | | | | | | | that its content might still be using.
* | Merge branch '0.29.x'Stefan Behnel2019-03-041-8/+8
|\ \ | |/
| * Keep owned references to builtins module, "cython_runtime" module and ↵Stefan Behnel2019-03-041-8/+8
| | | | | | | | | | | | preimport module to prevent crashes when they get removed from sys.modules. Generate cleanup code for them in the end. Closes #2885.
| * Recognize that the default encoding is always utf-8 in Python 3.Robert Bradshaw2019-02-191-1/+4
| | | | | | | | This fixes Github issue #2819.
* | Support CPython builds with docstrings disabled by wrapping docstring ↵Stefan Behnel2019-03-041-1/+1
| | | | | | | | | | | | literals in the `PyDoc_STR()` macro. Closes GH-884.
* | Use "fast_gil" calls in line tracing code when available, and actually test it.Stefan Behnel2019-03-031-0/+2
| |
* | @cython.trashcan directive to enable the Python trashcan for deallocationsJeroen Demeyer2019-02-171-0/+10
| |
* | Recognize that the default encoding is always utf-8 in Python 3.Robert Bradshaw2019-02-031-1/+4
| | | | | | | | This fixes Github issue #2819.
* | Remove superfluous semicolons.Stefan Behnel2019-01-121-2/+2
| |
* | Export "PyInit___init__" and "init__init__" as additional module init ↵pkg_init_windowsStefan Behnel2019-01-111-0/+9
| | | | | | | | functions under Windows to make compiled packages work.
* | Remove support for Py2.6 and various quirks that special-cased it.gh2692_remove_py26_supportStefan Behnel2018-10-301-2/+2
|/ | | | Closes #2692.
* Workaround for long internals misconfiguration on 64-bit MinGW.Robert Bradshaw2018-10-241-0/+5
| | | | | | | | | | Also add a compile time check for SIZEOF_VOID_P. This fixes #2670. See also https://bugs.python.org/issue35037 https://bugs.python.org/issue4709
* Fix type import enum.Robert Bradshaw2018-10-021-0/+1
|
* Use enum rather than int for size_check.Robert Bradshaw2018-10-021-9/+5
|
* Rename check_size extend option to ignore.Robert Bradshaw2018-10-021-1/+1
|
* Rename the options of the "check_size" feature to make them more obvious: ↵Stefan Behnel2018-09-291-4/+4
| | | | | | "warn" warns, "error" fails, and "extend" silently allows extending. Closes #2627.
* Minor cleanups of 'check_size' implementation (#2627).Stefan Behnel2018-09-291-5/+2
|
* MAINT: fixes from reviewmattip2018-09-251-2/+2
|
* MAINT: fixes from reviewmattip2018-09-251-5/+8
|
* MAINT: cannot use local enum in __Pyx functionsmattip2018-09-251-5/+5
|
* ENH: add check_size option to ctypedef class for external classesmattip2018-09-251-4/+15
|
* Exclude 'const' globals from star-importing since they can't get assigned ↵Stefan Behnel2018-09-221-1/+1
| | | | | | anyway. Closes #2621.
* Reduce the processing overhead in the debug line mapping writer a little.Stefan Behnel2018-08-281-10/+10
|
* Add a "CYTHON_HEX_VERSION" macro in the style of PY_HEX_VERSION that user ↵Stefan Behnel2018-08-261-1/+2
| | | | code can use to detect the Cython version that generated the main module.
* Move PyFrame localsplus offset calculation to a more appropriate utility ↵Stefan Behnel2018-08-141-0/+2
| | | | file where it can be included conditionally.
* make __Pyx_PyFunction_FastCallNoKw compatible with Stackless PythonAnselm Kruis2018-08-141-0/+1
| | | | | | Compute the offset of the PyFrameObject member "f_localsplus" at runtime, because the layout of PyFrameObject differs between regular C-python and Stackless Python.
* Added the pep8 test to travis. All the warnings are disabled and only a few ↵gabrieldemarmiesse2018-08-111-1/+1
| | | | error checks are enabled.
* Actually enable the error on PEP-489 module reinitialisation, and add it to ↵Stefan Behnel2018-08-101-5/+4
| | | | the changelog.
* Mark error raising code in PEP 489 init phase as TODO.Stefan Behnel2018-08-101-6/+6
|
* Revert PEP-489 behaviour, but keep error raising code to make it easy to try ↵Stefan Behnel2018-08-101-8/+13
| | | | both.
* Make error message more informative.Stefan Behnel2018-08-101-1/+2
|
* Enable PEP-489 module initialisation again, but raise an error on re-inits.Stefan Behnel2018-08-101-5/+7
|
* Allow C line in traceback also during module initJeroen Demeyer2018-07-121-2/+1
|
* Repair inclusion of TypeImport utility code for api .h files.Stefan Behnel2018-06-171-2/+4
|
* Fix C compiler warnings about an unused error label and an unused helper ↵Stefan Behnel2018-06-171-4/+9
| | | | function if only builtin types are used and no external extension types.
* Generate short wrappers for special methods like "__next__()" to adapt their ↵Stefan Behnel2018-06-171-1/+7
| | | | | | | signature for the PyCFunction entry in PyMethodDef. Previously, their cast to a two-argument PyCFunction was incorrect. See #2363.
* Merge branch '0.28.x'Stefan Behnel2018-06-031-1/+1
|\
| * Fix: reallowing tp_clear() in a subtype of an @no_gc_clear extension type ↵Stefan Behnel2018-06-031-1/+1
| | | | | | | | | | | | generated an invalid C function call to the (non-existent) base type implementation. Closes #2309.