Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Gwenaël Samain
cython
Commits
425863ba
Commit
425863ba
authored
8 years ago
by
Stefan Behnel
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch '0.24.x'
Conflicts: CHANGES.rst docs/src/reference/compilation.rst
parents
272a299f
320f67b5
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
31 additions
and
10 deletions
+31
-10
CHANGES.rst
CHANGES.rst
+25
-10
Cython/Compiler/ModuleNode.py
Cython/Compiler/ModuleNode.py
+6
-0
No files found.
CHANGES.rst
View file @
425863ba
...
@@ -11,15 +11,10 @@ Features added
...
@@ -11,15 +11,10 @@ Features added
* Dynamic Python attributes are allowed on cdef classes if an attribute
* Dynamic Python attributes are allowed on cdef classes if an attribute
``cdef dict __dict__`` is declared in the class. Patch by empyrical.
``cdef dict __dict__`` is declared in the class. Patch by empyrical.
* IPython cell magic supports "-3" argument as in "%%cython -3".
* for-loop iteration over "std::string".
* for-loop iteration over "std::string".
* Cython implemented C++ classes can make direct calls to base class methods.
* Cython implemented C++ classes can make direct calls to base class methods.
* Macros defined in the ``distutils`` compiler option do not require values
anymore. Patch by Ian Henriksen.
* New directive ``cython.no_gc`` to fully disable GC for a cdef class.
* New directive ``cython.no_gc`` to fully disable GC for a cdef class.
* Buffer variables are no longer excluded from ``locals()``.
* Buffer variables are no longer excluded from ``locals()``.
...
@@ -31,17 +26,37 @@ Bugs fixed
...
@@ -31,17 +26,37 @@ Bugs fixed
* Division of complex numbers avoids overflow by using Smith's method.
* Division of complex numbers avoids overflow by using Smith's method.
* Namespaced C++ types could not be used as memory view types due to lack of
Other changes
name mangling. Patch by Ivan Smirnov.
-------------
* Usage of ``Cython.Distutils.build_ext`` is now discouraged.
0.24.1 (2016-07-15)
===================
* IPython cell magic was lacking a good way to enable Python 3 code semantics.
It can now be used as "%%cython -3".
* Follow a recent change in `PEP 492 <https://www.python.org/dev/peps/pep-0498/>`_
* Follow a recent change in `PEP 492 <https://www.python.org/dev/peps/pep-0498/>`_
and CPython 3.5.1 that now requires the ``__aiter__()`` method of asynchronous
and CPython 3.5.1 that now requires the ``__aiter__()`` method of asynchronous
iterators to be a simple ``def`` method instead of an ``async def`` method.
iterators to be a simple ``def`` method instead of an ``async def`` method.
Other changes
* Coroutines and generators were lacking the ``__module__`` special attribute.
-------------
* Usage of ``Cython.Distutils.build_ext`` is now discouraged.
* Namespaced C++ types could not be used as memory view types due to lack of
name mangling. Patch by Ivan Smirnov.
* Assignments between the identical C++ types that were declared with differently
typedefed template types could fail.
* Rebuilds could fail to evaluate dependency timestamps in C++ mode.
Path by Ian Henriksen.
* Macros defined in the ``distutils`` compiler option do not require values
anymore. Patch by Ian Henriksen.
* Minor fixes for MSVC, Cygwin and PyPy.
0.24 (2016-04-04)
0.24 (2016-04-04)
...
...
This diff is collapsed.
Click to expand it.
Cython/Compiler/ModuleNode.py
View file @
425863ba
...
@@ -2056,8 +2056,14 @@ class ModuleNode(Nodes.Node, Nodes.BlockNode):
...
@@ -2056,8 +2056,14 @@ class ModuleNode(Nodes.Node, Nodes.BlockNode):
old_error_label
=
code
.
new_error_label
()
old_error_label
=
code
.
new_error_label
()
code
.
putln
(
"if (0);"
)
# so the first one can be "else if"
code
.
putln
(
"if (0);"
)
# so the first one can be "else if"
msvc_count
=
0
for
name
,
entry
in
sorted
(
env
.
entries
.
items
()):
for
name
,
entry
in
sorted
(
env
.
entries
.
items
()):
if
entry
.
is_cglobal
and
entry
.
used
:
if
entry
.
is_cglobal
and
entry
.
used
:
msvc_count
+=
1
if
msvc_count
%
100
==
0
:
code
.
putln
(
"#ifdef _MSC_VER"
)
code
.
putln
(
"if (0); /* Workaround for MSVC C1061. */"
)
code
.
putln
(
"#endif"
)
code
.
putln
(
'else if (__Pyx_StrEq(name, "%s")) {'
%
name
)
code
.
putln
(
'else if (__Pyx_StrEq(name, "%s")) {'
%
name
)
if
entry
.
type
.
is_pyobject
:
if
entry
.
type
.
is_pyobject
:
if
entry
.
type
.
is_extension_type
or
entry
.
type
.
is_builtin_type
:
if
entry
.
type
.
is_extension_type
or
entry
.
type
.
is_builtin_type
:
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment