summaryrefslogtreecommitdiff
path: root/Cython/Compiler/Pipeline.py
Commit message (Collapse)AuthorAgeFilesLines
* Make raise-statements inside of nogil blocks automatically acquire the GIL, ↵Stefan Behnel2018-06-031-1/+2
| | | | instead of requiring an explicit ``with gil`` block around them.
* Make compiler pipeline a bit nicer to profile.Stefan Behnel2017-08-211-3/+17
|
* Simplify TrackNumpyAttributes transform.Stefan Behnel2017-08-211-2/+1
|
* Always report fatal errors.Robert Bradshaw2017-07-081-1/+1
| | | | | | Previously these could be suppressed if error holding was in place. This was noticed in #1746.
* Add a Pythran backend for Numpy operationAdrien Guinet2017-06-171-1/+2
| | | | | | | | | | | | When the user asked for it (thanks to the --np-pythran flag), use Pythran's Numpy implementation as a backend for numpy operation. This flag forces the C++ mode, as the Pythran implementation is written in C++. Distutils integration through the 'np_pythran' flag of the cythonize API is also provided. This commit also adds a Pythran mode for the tests, that can enable the pythran mode for the C++ tests, and allows the reuse of Cython tests to test for the Pythran integration.
* rely on code generation phase to include required utility code instead of ↵Stefan Behnel2016-08-141-25/+0
| | | | always including all of it in a separate pipeline phase
* merge DecoratorTransform and PropertyTransformStefan Behnel2015-11-071-2/+1
|
* Add a pass transforming Python-style properties in cdef class into ↵Emmanuel Gil Peyrot2015-11-051-1/+2
| | | | | | | | | | Cython-style properties. This makes properties work properly in cdef classes, and gives them the exact same AST as the “property something:” blocks, whose syntax should probably be deprecated now. Fixes T264.
* pass correct CythonScope into CythonUtilityScope tree generation (used to be ↵Stefan Behnel2015-10-261-1/+1
| | | | None)
* minor code reformattingStefan Behnel2015-09-171-0/+5
|
* More determanistic utility code ordering.Robert Bradshaw2015-09-051-5/+4
|
* Fix a couple of tests due to utility code changes.Robert Bradshaw2015-09-031-1/+3
|
* Make cpdef enums into first-class types.Robert Bradshaw2015-09-031-0/+25
| | | | | | | | | | | | | | For example cpdef enum Eggs SOFT HARD SCRAMBLED produces three constants with int values that print as strings, and a type Eggs with attributes Eggs.SOFT, etc. and list(Eggs) giving the set of all enum values. Instantiating Eggs with a numeric or string value will return the appropriate constant.
* Merge branch '0.23.x'Stefan Behnel2015-08-091-0/+1
|\
| * fix #855: make "import *" include all necessary "from_py" coercion helper ↵Stefan Behnel2015-08-091-0/+1
| | | | | | | | functions
* | minor code beautificationStefan Behnel2015-08-091-2/+8
|/
* adapt some more syntax to Py2/Py3Stefan Behnel2015-07-251-3/+3
|
* make dict iteration compatible with Py2/Py3Stefan Behnel2015-07-251-2/+2
|
* 2to3: Apply the 'except' fixerPetr Viktorin2015-07-251-3/+3
|
* implement "async with" (PEP 492)Stefan Behnel2015-05-231-1/+1
|
* Undo --embed -> __main__ conversion.Robert Bradshaw2015-04-271-4/+1
|
* Rename module to __main__ in embed mode.Robert Bradshaw2015-04-241-3/+5
| | | | | | This is more consistent with the execution of "python foo.py" and also allows for compilation of files that don't obey the module naming rules.
* change pipeline order to include tree changes made by structural optimisers ↵Stefan Behnel2015-03-191-2/+2
| | | | in OptimizeBuiltinCalls run
* remove unclear comment and add docstring to explain whyStefan Behnel2014-11-151-1/+1
| | | | | --HG-- extra : transplant_source : %C4Y%8Fo%10QD%23%A6%FB%B6%AF%3B%D6%C9%A9%09%C4%0D%A8
* use explicit relative imports everywhere and enable absolute imports by defaultStefan Behnel2014-06-171-38/+38
|
* add a directive to disable SwitchTransformAlok Singhal2014-04-221-1/+1
| | | | | SwitchTransform is unable to detect all cases of duplicate values, which result in errors at compile time in the generated code.
* fix some unnecessary Py2-isms in the code baseStefan Behnel2014-01-171-1/+1
|
* Cimported name mangling.Robert Bradshaw2014-01-071-0/+4
|
* Add support for external C++ template functions.Robert Bradshaw2013-12-261-1/+1
| | | | | | The syntax follows that of template classes, namely cdef T foo[T](T, ...)
* fix crash when looking up closure names in OptimizeBuiltinCalls transform ↵Stefan Behnel2013-12-241-1/+1
| | | | (after running CreateClosureClasses transform)
* move qualname calculation transform a little later in the pipelineStefan Behnel2013-11-161-1/+1
|
* reimplement PEP 3155 __qualname__ calculation in a dedicated transform to ↵Stefan Behnel2013-11-151-0/+2
| | | | base it on the node structure instead of the scopes (which fails for class scopes)
* In cimport_from_pyx mode don't treat "cdef extern from" variables as being ↵Nikita Nemkin2013-04-061-1/+2
| | | | defined, preventing erroneous cross-module cimport.
* reimplement SimplifyCalls transform in-place in GeneralCallNode.analyse_types()Stefan Behnel2013-02-071-2/+1
|
* move major part of SimplifyCalls transform into type analysis in GeneralCallNodeStefan Behnel2013-02-061-1/+1
|
* simple optimisation that statically maps keyword arguments to positional ↵Stefan Behnel2013-02-051-1/+2
| | | | arguments when called signature is known
* convert IterationTransform to inherit from EnvTransform for better scope ↵Stefan Behnel2012-12-311-1/+1
| | | | tracking
* Cheaper overflow checks for nested expressions.Robert Bradshaw2012-12-281-0/+2
|
* move utility code inclusion from Name/AttributeNodes to the latest possible ↵Stefan Behnel2012-08-291-5/+9
| | | | step in the pipeline (after removing it from declaration analysis)
* commentStefan Behnel2012-08-111-1/+1
|
* Rename MarkAssignments to MarkParallelAssignmentsVitja Makarov2012-05-081-3/+3
|
* Revert "Stopgap support for numpy 1.7"Robert Bradshaw2012-04-141-1/+0
| | | | This reverts commit 95b6e693327650607c6f5b1fffc5c9867dce0645.
* Stopgap support for numpy 1.7Dag Sverre Seljebotn2012-03-211-0/+1
| | | | | | | | | | | | NumPy is starting to seriously deprecating access to the member fields in an ndarray (it was always frowned upon, but now it is starting to become enforced). To support the large body of Cython code out there accessing these fields (arr.shape[0] and so on), we special-case PyArrayObject in Cython, with special knowledge of the NumPy API. Ideally, we may introduce features in Cython in the future that allows specifying this kind of magic with syntax in pxd files, and then we can move away from special-casing NumPy.
* Simple closure defnode call inliningVitja Makarov2012-01-121-0/+2
|
* Rename CreateControlFlowGraph to ControlFlowAnalysisVitja Makarov2011-11-301-2/+2
|
* minor import cleanupStefan Behnel2011-11-131-1/+0
|
* removed lots of unused imports, delayed some imports that are only needed ↵Stefan Behnel2011-11-131-1/+1
| | | | | | | for Cython specific syntax --HG-- extra : rebase_source : a2df3675fd1efae1a1122ca9742e99ab1405fba6
* Better fused types error detection, specialized fused C++ templatesMark Florisson2011-11-051-1/+2
|
* Merge branch 'master' into fusedmergeMark Florisson2011-10-281-1/+1
|\ | | | | | | | | | | | | | | Conflicts: Cython/Compiler/MemoryView.py Cython/Compiler/Naming.py Cython/Compiler/Nodes.py Cython/Compiler/Parsing.py
| * fix compiler crash on .pxd file processingStefan Behnel2011-10-141-1/+1
| |