summaryrefslogtreecommitdiff
path: root/Cython/Compiler/ModuleNode.py
Commit message (Collapse)AuthorAgeFilesLines
...
* Merge branch 'master' into multi-inheritanceRobert Bradshaw2017-11-071-23/+97
|\
| * Add docstring.Stefan Behnel2017-11-051-0/+8
| |
| * Enable the refnanny for the separate mod-init step functions as it is ↵Stefan Behnel2017-11-051-1/+5
| | | | | | | | required for temp checking.
| * Split up the module init function into separate C functions per setup step ↵Stefan Behnel2017-11-051-19/+77
| | | | | | | | | | | | as it can get fairly lengthy for complex modules, e.g. with many extension types. This hopefully reduces the function complexity that the C compiler must handle.
| * Merge branch '0.27.x'Stefan Behnel2017-10-291-1/+3
| |\
| | * Add missing `extern` declaration for the `module_is_main` flagLisandro Dalcin2017-10-271-1/+3
| | |
| * | Move CYTHON_NO_PYINIT_EXPORT utility code into external file to avoid ↵Stefan Behnel2017-10-281-21/+2
| | | | | | | | | | | | lengthy chain of plain text code generation.
| * | Add CYTHON_NO_PYINIT_EXPORT macro. (#1944)AraHaan2017-10-211-2/+22
| | | | | | | | | | | | | | | | | | | | | When building the generated code in an embedded interpreter the module init function will no longer be exported if CYTHON_NO_PYINIT_EXPORT is defined. See https://github.com/cython/cython/issues/1944 for details.
| * | Split Python compatibility adaptation code out of ModulePreamble section and ↵Stefan Behnel2017-10-201-0/+1
| | | | | | | | | | | | into its own separate section to allow moving it around and support using CYTHON_INLINE etc. in it.
* | | Cleanup.Robert Bradshaw2017-11-071-1/+1
| | |
* | | Move type_ready code to CClassDefNode.Robert Bradshaw2017-10-121-99/+2
| | |
* | | Allow multiple bases for cdef classes.Robert Bradshaw2017-10-111-12/+10
|/ /
* | Merge branch 'late_includes_auto'Robert Bradshaw2017-10-021-5/+18
|\ \ | |/ |/|
| * Cleanup late includes.Robert Bradshaw2017-10-021-2/+2
| |
| * Automatic late includes.Jeroen Demeyer2017-09-281-5/+18
| |
* | Fix method name (no test failure?).Stefan Behnel2017-09-291-1/+1
| |
* | Fix generation of api code for C++ classes with object members.Robert Bradshaw2017-09-281-40/+51
|/ | | | Fixes Github issue #1886.
* Remove dead code.Stefan Behnel2017-09-281-2/+0
|
* Fix error handling when importing NumPy for Pythran modules.Stefan Behnel2017-09-281-1/+2
|
* Enforce single module initialisation despite PEP 489 allowing to re-execute ↵Stefan Behnel2017-09-281-1/+10
| | | | a module.
* Require c++0x for unique_ptr.Robert Bradshaw2017-09-231-1/+2
|
* Avoid copying C++ classes when passing constructor arguments.Robert Bradshaw2017-09-231-1/+1
|
* Add flag CYTHON_USE_TP_FINALIZEto control whether tp_finalize is used.Ronan Lamy2017-09-131-1/+1
| | | | Disable it on pypy3, since it doesn't support PEP 442 yet.
* Move future division #defines out of ModuleNode.py.Stefan Behnel2017-09-051-14/+2
|
* Prevent redefinition of assertions macroStefan Behnel2017-09-051-1/+1
|
* Mark "__eq__" and friends as special methods to correctly distinguish them ↵Stefan Behnel2017-09-041-27/+25
| | | | | | from attributes etc. Replace closure class special casing from slot generation code and replace it with saner and more general "is_special" check.
* Test and fix "__eq__" override with extern base type (tested with 'list').Stefan Behnel2017-09-041-3/+6
|
* Switch off special methods for closure classes the hard way.Stefan Behnel2017-09-031-25/+27
|
* Generate "tp_richcompare" slot when "__eq__" and/or its friends are defined ↵Stefan Behnel2017-09-031-0/+69
| | | | | | but "__richcmp__" is not. Closes #690.
* Remove support and special handling code for Py3.2.Stefan Behnel2017-08-251-2/+2
|
* Add required copy and assignment operators for C++ classes with python ↵Robert Bradshaw2017-08-251-0/+22
| | | | object attributes.
* Allow C++ classes to have Python object members.Robert Bradshaw2017-08-251-6/+47
|
* Merge pull request #1794 from scoder/pep489_multi_phase_initscoder2017-08-091-11/+71
|\ | | | | implement PEP 489 multi-phase module initialisation in Py3.5+
| * write warning into generated header file for now to explain that calling the ↵Stefan Behnel2017-07-231-0/+3
| | | | | | | | module init function is not enough to initialise the module anymore
| * C++ fixStefan Behnel2017-07-231-2/+2
| |
| * disable file/path name overwriting during module setup in post-PEP489 ↵Stefan Behnel2017-07-231-0/+6
| | | | | | | | runtimes (where the ModuleSpec provides proper metadata)
| * fix utility code formattingStefan Behnel2017-07-221-2/+2
| |
| * make module exec function cname module specific to make it easier to select ↵Stefan Behnel2017-07-221-6/+9
| | | | | | | | in a debugger/profiler
| * implement PEP 489 multi-phase module initialisation in Py3.5+Stefan Behnel2017-07-221-9/+57
| |
* | speed up type checks, especially for exceptions (which are used a lot in ↵Stefan Behnel2017-07-311-0/+1
| | | | | | | | yield/await)
* | allow yield in async def functions (which turns them into async generators)Stefan Behnel2017-07-271-1/+1
| |
* | Suppress special casing of attribute names in closure classes since they are ↵Stefan Behnel2017-07-251-4/+4
|/ | | | | | not user defined and any local variable name is allowed without being special. Closes #1797.
* use faster __Pyx_PyObject_GetAttrStr() implementation and avoid static ↵Stefan Behnel2017-07-161-1/+2
| | | | Python string reference in AddTraceback() helper
* Merge commit '863b50c33b955bb29e90bbcb1c8e61bd820845f3' into releaseRobert Bradshaw2017-07-141-1/+1
|\
| * try to silence C compiler warning about unused function argumentStefan Behnel2017-07-131-1/+1
| |
* | Merge branch 'jdemeyer-cdef_public_dll_linkage'Robert Bradshaw2017-07-141-3/+2
|\ \ | |/ |/|
| * Do not use special dll linkage for "cdef public" functionsJeroen Demeyer2017-04-281-3/+2
| |
* | Suppress (verbose) may-be-used-uninitialized errors.Robert Bradshaw2017-07-061-0/+1
| |
* | Conditionally use FastGil utility code.Robert Bradshaw2017-07-031-5/+0
| |
* | Add an optimization for re-aquiring the GIL.Robert Bradshaw2017-06-291-0/+5
| |