summaryrefslogtreecommitdiff
path: root/Cython/Compiler/Nodes.py
Commit message (Collapse)AuthorAgeFilesLines
* Ignore exact function pointer type in PyCFunction pointer comparison since ↵Stefan Behnel2018-06-171-1/+1
| | | | there is no use in figuring out the correct cast here.
* Speed up cpdef method override checks also for Python subclasses with slots ↵Stefan Behnel2018-06-081-2/+2
| | | | | | by assuming that slot attributes themselves never override type fields in the parent class (Python raises an error if you try). See #2313.
* Add code comment about a future improvement.Stefan Behnel2018-06-081-0/+4
|
* Use dict version guards to avoid the attribute lookup on cpdef method calls ↵Stefan Behnel2018-06-081-0/+42
| | | | | | | | for Python subclasses. This does not help for classes with "__slots__", nor does it help for alternating calls to different objects. There is probably still space for improvements, e.g. by using an array of object dict versions. See #2313.
* Make cpdef methods overridable in Python classes with slots (which do not ↵Stefan Behnel2018-05-271-1/+3
| | | | | | have a dict). Closes #1771.
* Merge branch '0.28.x'Stefan Behnel2018-05-271-3/+1
|\
| * Revert "Make cpdef methods overridable in Python classes with slots (which ↵Stefan Behnel2018-05-271-3/+1
| | | | | | | | | | | | do not have a dict)." This reverts commit eb0e46660cbbab70d4dcb53f94a4749ab261510b.
* | Intern some identifier names that are likely to be otherwise interned anyway.Stefan Behnel2018-05-181-2/+2
| |
* | Remove permanent output scanning code that eats quite a bit of processing time.Stefan Behnel2018-05-171-1/+2
| |
* | Use dict versioning in Py3.6+ to make the lookup of Python module globals ↵Stefan Behnel2018-05-041-4/+4
|/ | | | almost as fast as C globals.
* Make cpdef methods overridable in Python classes with slots (which do not ↵Stefan Behnel2018-05-031-1/+3
| | | | | | have a dict). Closes #1771.
* Misc typosluz.paz2018-03-121-1/+1
| | | Found via `codespell`
* Re-enable "auto late includes" based on a preliminary directive. We have the ↵Stefan Behnel2018-03-031-1/+3
| | | | | | feature, so allowing its use won't hurt, as long as users are aware that they will have to change their code later. See #2079.
* Explicitly re-allow memoryviews in default argument structs after ↵Stefan Behnel2018-02-231-1/+1
| | | | | | disallowing them in structs generally. Closes #2114.
* Merge branch 'master' into readonly_buffersscoder2018-02-111-159/+515
|\
| * Move user branch hint generation from IfClauseNode into IfStatNode to ↵Stefan Behnel2018-02-101-17/+25
| | | | | | | | include also the inverse 'else' condition.
| * Inject branch hints for user conditionals that raise exceptions as we can ↵Stefan Behnel2018-02-101-1/+16
| | | | | | | | expect them to be unlikely.
| * Use a specialised GenericGetAttr implementation for the "tp_getattro" slot ↵Stefan Behnel2018-01-251-0/+20
| | | | | | | | whenever a type uses the generic lookup but has no instance dict.
| * Use specialised default return handling code for "return None" in generators ↵Stefan Behnel2018-01-211-12/+16
| | | | | | | | and other functions that return Python objects.
| * C functions without args should be declared as f(void)Jeroen Demeyer2018-01-161-1/+4
| |
| * Merge pull request #2033 from jdemeyer/multiple_inheritance_no_dictscoder2018-01-161-20/+9
| |\ | | | | | | Allow multiple inheritance without __dict__
| | * Add runtime checks for multiple inheritanceJeroen Demeyer2018-01-161-20/+9
| | |
| * | Include required async utility code wherever it's used, not just by accident.Stefan Behnel2018-01-161-0/+5
| |/ | | | | | | Closes #2075.
| * Prevent ExprStatNode value casting for "void" type.Stefan Behnel2018-01-071-1/+4
| |
| * Optimise list.extend([a,b,c]) into fast sequential calls to list.append().Stefan Behnel2018-01-071-1/+1
| |
| * Keep "result_is_used" flag across node replacements in type analysis and ↵Stefan Behnel2018-01-061-0/+3
| | | | | | | | optimisations to make sure it's still available at code generation time.
| * Optimise set iteration using _PySet_NextEntry() in CPython.Stefan Behnel2017-12-241-0/+60
| | | | | | | | Closes #2048.
| * Silence C compiler warning about fall-through in switch statement for ↵Stefan Behnel2017-12-221-2/+2
| | | | | | | | kw-only argument parsing code.
| * Re-allow None as argument in "parallel(num_threads=None)", seems to be ↵Stefan Behnel2017-11-291-2/+8
| | | | | | | | | | | | explicitly allowed. But at least detect and disallow duplicate keyword arguments to parallel() and prange().
| * Make assignments of None to C typed variables a compile time error.Stefan Behnel2017-11-281-1/+1
| | | | | | | | | | | | Always coerce Python arguments as "num_threads" in parallel sections to C integers, also to catch some coercion problems at compile time. Closes #1957.
| * Merge branch 'master' of git+ssh://github.com/cython/cythonStefan Behnel2017-11-241-12/+11
| |\
| | * Verbatim C code using docstring syntax.Jeroen Demeyer2017-11-171-12/+11
| | |
| * | Merge branch '0.27.x'Stefan Behnel2017-11-241-2/+2
| |\ \ | | |/ | |/|
| * | initial attempt to evaluate "@coroutine" at compile time by making the ↵Stefan Behnel2017-11-161-0/+6
| | | | | | | | | | | | | | | | | | resulting coroutine iterable Signed-off-by: Stefan Behnel <stefan_ml@behnel.de>
| * | Use a saner way to check for non-trivial exception patterns. Not everything ↵Stefan Behnel2017-11-121-1/+1
| | | | | | | | | | | | has an entry, but everything in a temp probably has a reason for being there.
| * | Prevent calling into CPython with a live exception set while trying to match ↵Stefan Behnel2017-11-121-7/+29
| | | | | | | | | | | | non-trivial exception patterns in an "except" clause.
| * | Merge branch '0.27.x'Stefan Behnel2017-11-101-2/+12
| |\ \ | | |/
| | * Do not infer C types for arguments with Python default value.Stefan Behnel2017-11-101-2/+12
| | | | | | | | | | | | Closes #1972.
| * | Add a check for vtable compatibility.Robert Bradshaw2017-11-071-2/+9
| | | | | | | | | | | | | | | We should be doing this for pure Python defined classe as well, but don't have a way to inject it.
| * | Merge branch 'master' into multi-inheritanceRobert Bradshaw2017-11-071-30/+74
| |\ \
| | * | Optimise iteration over containers declared with a "Dict[...]" type annotation.Stefan Behnel2017-11-051-1/+5
| | | | | | | | | | | | | | | | See #1979.
| | * | Update implementation of PEP 3118 getbuffer special methoddalcinl/fix-getbufferLisandro Dalcin2017-11-011-20/+52
| | | | | | | | | | | | | | | | | | | | * Rework check for `view==NULL` required for legacy Python 3 releases. * Handle redefined `struct Py_buffer` in user code (e.g. mpi4py).
| | * | Implement line tracing for generators and coroutines.Stefan Behnel2017-10-311-2/+9
| | | | | | | | | | | | | | | | Closes #1949.
| | * | Merge branch '0.27.x'Stefan Behnel2017-10-291-3/+3
| | |\ \ | | | |/
| | | * Minor changes to try/finally code generation [should silence Coverity Scan]dalcinl/fix-try-finallyLisandro Dalcin2017-10-291-3/+3
| | | |
| | | * Mark unused vars with `(void)x;` [should silence Coverity Scan]Lisandro Dalcin2017-10-281-1/+2
| | | |
| | * | Merge pull request #1952 from cython/dalcinl/mark-unused-varsLisandro Dalcin2017-10-281-1/+2
| | |\ \ | | | | | | | | | | Mark unused vars with `(void)x;` [should silence Coverity Scan]
| | | * | Mark unused vars with `(void)x;` [should silence Coverity Scan]dalcinl/mark-unused-varsLisandro Dalcin2017-10-281-1/+2
| | | |/
| | * | Trivial typo fixesUnknown2017-10-171-2/+2
| | | | | | | | | | | | | | | | | | | | Most are non-user facing. Found using: `codespell -d -q 3`
| | * | Better errors for unknown type arguments.Robert Bradshaw2017-10-141-1/+1
| | | |