Bump version to 3.0.12
This commit is contained in:
parent
26a01e1b83
commit
12e1ab0e93
6 changed files with 322 additions and 319 deletions
8
ANNOUNCE
8
ANNOUNCE
|
|
@ -1,8 +1,8 @@
|
|||
*** ANNOUNCE: SWIG 3.0.11 (29 Dec 2016) ***
|
||||
*** ANNOUNCE: SWIG 3.0.12 (in progress) ***
|
||||
|
||||
http://www.swig.org
|
||||
|
||||
We're pleased to announce SWIG-3.0.11, the latest SWIG release.
|
||||
We're pleased to announce SWIG-3.0.12, the latest SWIG release.
|
||||
|
||||
What is SWIG?
|
||||
=============
|
||||
|
|
@ -27,11 +27,11 @@ Availability
|
|||
============
|
||||
The release is available for download on Sourceforge at
|
||||
|
||||
http://prdownloads.sourceforge.net/swig/swig-3.0.11.tar.gz
|
||||
http://prdownloads.sourceforge.net/swig/swig-3.0.12.tar.gz
|
||||
|
||||
A Windows version is also available at
|
||||
|
||||
http://prdownloads.sourceforge.net/swig/swigwin-3.0.11.zip
|
||||
http://prdownloads.sourceforge.net/swig/swigwin-3.0.12.zip
|
||||
|
||||
Please report problems with this release to the swig-devel mailing list,
|
||||
details at http://www.swig.org/mail.html.
|
||||
|
|
|
|||
314
CHANGES
314
CHANGES
|
|
@ -5,6 +5,320 @@ See the RELEASENOTES file for a summary of changes in each release.
|
|||
Issue # numbers mentioned below can be found on Github. For more details, add
|
||||
the issue number to the end of the URL: https://github.com/swig/swig/issues/
|
||||
|
||||
Version 3.0.11 (29 Dec 2016)
|
||||
============================
|
||||
|
||||
2016-12-24: wsfulton
|
||||
[C#] Add %feature("csdirectordelegatemodifiers") to enable customization
|
||||
of the delegate access modifiers generated in director classes.
|
||||
Fixes issue #748.
|
||||
|
||||
2016-12-23: wsfulton
|
||||
[Python] Fix builtin "python:slot" feature failing for tp_hash when using
|
||||
hashfunc closure with a "Wrong type for hash function" for Python 2.
|
||||
Issue #843.
|
||||
|
||||
2016-12-21: joequamt
|
||||
Changed generation of functions so that only functions
|
||||
that end in _set generate accessor functions rather than
|
||||
looking for "set".
|
||||
Change generation of operators to not have underscores
|
||||
to start in R. Users need to provide custom names for these operator overloads.
|
||||
|
||||
2016-12-21: olly
|
||||
Fix isfinite() checks to work with all C++11 compilers.
|
||||
Fixes issues #615, #788 and #849.
|
||||
|
||||
2016-12-20: wsfulton
|
||||
%namewarn unnecessarily caused keyword warnings for non-instantiated template classes
|
||||
and duplicate warnings for instantiated template classes when keywords were used.
|
||||
Issue #845.
|
||||
|
||||
2016-12-18: ezralanglois
|
||||
[Python, Ruby, Octave] Memory leak fix on error in std::pair wrappers.
|
||||
Issue #851.
|
||||
|
||||
2016-12-18: wsfulton
|
||||
Zero initialize arrays when using %array_class and %array_functions.
|
||||
|
||||
2016-12-18: t-ikegami
|
||||
[Python] Fix #446
|
||||
Python %array_class of carrays.i failed with -builtin option.
|
||||
|
||||
2016-12-16: bcaine
|
||||
[Guile] Patch #744 Added support for Guile's native pointer functionality
|
||||
|
||||
2016-12-01: wsfulton
|
||||
[Python] Issue #769.
|
||||
Add optional moduleimport attribute to %module so that the
|
||||
default module import code can be overridden. See the "Searching for the wrapper module"
|
||||
documentation in Python.html. Example:
|
||||
|
||||
%module(moduleimport="import _foo") foo
|
||||
|
||||
$module also expands to the low-level C/C++ module name, so the following is the
|
||||
same as above
|
||||
|
||||
%module(moduleimport="import $module") foo
|
||||
|
||||
2016-11-30: olly
|
||||
[PHP] Add support for PHP7. PHP5's C extension API has changed
|
||||
substantially so you need to use -php7 to specify you want PHP7
|
||||
compatible wrappers. The default extension for generated wrappers
|
||||
is now .cxx (to match SWIG's default for every other language - to
|
||||
generate foo_wrap.cpp you can run SWIG with -cppext cpp). Fixes
|
||||
issue #571.
|
||||
|
||||
As part of this change, the language subdirectory for PHP5 has
|
||||
changed from "php" to "php5" - if you are making use of the search
|
||||
path feature where the language subdirectory of each directory
|
||||
is also searched, you'll need to update your bindings. A simple
|
||||
fix which works for older and newer SWIG is to add a symlink:
|
||||
ln -s php php5
|
||||
|
||||
*** POTENTIAL INCOMPATIBILITY ***
|
||||
|
||||
2016-11-30: olly
|
||||
[PHP] Only emit one copy of each distinct arginfo. Previously we
|
||||
emitted a separate one for every wrapped function, but typically
|
||||
many functions have the same number of parameters and combinations
|
||||
of parameters passed by reference or not.
|
||||
|
||||
This change significantly reduces both the size of the generated
|
||||
wrapper, and of the compiled PHP extension module (e.g. by ~6% for
|
||||
the stripped extension module for Xapian's PHP7 bindings).
|
||||
|
||||
2016-11-28: wsfulton
|
||||
Fix %rename override of wildcard %rename for templates. For example:
|
||||
|
||||
%rename(GlobalIntOperator) *::operator bool; // wildcard %rename
|
||||
|
||||
%rename(XIntOperator) X::operator bool; // fix now overrides first %rename above
|
||||
OR
|
||||
%rename(XIntOperator) X<int>::operator bool; // fix now overrides first %rename above
|
||||
|
||||
template<typename T> struct X {
|
||||
operator bool();
|
||||
...
|
||||
};
|
||||
%template(Xint) X<int>;
|
||||
|
||||
This also fixes %rename override of global %rename for templates. For example:
|
||||
|
||||
// Global rename to make all functions start with a lower case letter
|
||||
%rename("%(firstlowercase)s", %$isfunction ) "";
|
||||
%rename(woohoo) W::Woo; // fix now overrides above %rename
|
||||
|
||||
template<typename T> struct W {
|
||||
W Woo();
|
||||
...
|
||||
};
|
||||
%template(Wint) W<int>;
|
||||
|
||||
The above also introduces a possibly unexpected change. Many of the STL containers
|
||||
provided by SWIG use %rename to rename some methods, eg in std::vector, push_back
|
||||
is renamed to add in Java. Previously this intended rename did not happen when using
|
||||
using global %rename rules and the method would remain as push_back, but is now
|
||||
renamed to add. Some more info in issue #856.
|
||||
|
||||
*** POTENTIAL INCOMPATIBILITY ***
|
||||
|
||||
2016-11-26: m7thon
|
||||
[Python] Issue #709 - improved wrapping of division operators
|
||||
'from __future__ import division' now works in Python 2 whether or not the
|
||||
-py3 flag is used.
|
||||
|
||||
2016-11-12: joequant
|
||||
[R] Issue #697 - fix comma issue with overload methods
|
||||
|
||||
2016-11-12: joequant
|
||||
[R] Issue #555 - R runtime needs stdio.h
|
||||
|
||||
2016-11-02: wsfulton
|
||||
[Python] Issue #816 - fix compilation error when using -extranative and -builtin.
|
||||
|
||||
2016-11-02: liorgold
|
||||
Patch #741 - Add support for C++11 alias templates, see updated CPlusPlus11.html
|
||||
documentation.
|
||||
|
||||
2016-10-30: myd7349
|
||||
[C#] Patch #740 Add std_array.i for C# for wrapping std::array.
|
||||
|
||||
Patch also enhances std::vector<std::wstring> C# wrappers with additional functions
|
||||
(Contains, IndexOf, LastIndexOf and Remove).
|
||||
|
||||
2016-10-30: tobilau
|
||||
[Java] Fix wrappers for wstring parameters in director methods to cleanup local
|
||||
ref after director callback has finished.
|
||||
|
||||
2016-10-23: wsfulton
|
||||
[C#] Add missing csdirectorin VOID_INT_PTR and csdirectorout VOID_INT_PTR typemaps.
|
||||
|
||||
2016-10-23: jiulongw
|
||||
Patch #781 - Fix wrapping of C compound expressions containing char constants
|
||||
in quotes such as:
|
||||
|
||||
#define H_SUPPRESS_SCALING_MAGIC (('s'<<24) | ('u'<<16) | ('p'<<8) | 'p')
|
||||
|
||||
enum DifferentTypes {
|
||||
typecharcompound='A'+1,
|
||||
typecharcompound2='B' << 2
|
||||
};
|
||||
|
||||
2016-10-13: wsfulton
|
||||
[Python] Issue #808 - fix Python pickling and metaclass for builtin wrappers.
|
||||
|
||||
The metaclass (SwigPyObjectType) for SWIG objects was not defined in
|
||||
a way that let importlib successfully import the Python wrappers.
|
||||
The pickle module previously failed to pickle objects because it couldn't
|
||||
determine what module the SWIG wrapped objects were in.
|
||||
|
||||
2016-09-29: wsfulton
|
||||
[Allegrocl, CFFI, GO, Javascript, Ocaml, R, Scilab]
|
||||
Add missing support for the "ret" typemap in a few target languages.
|
||||
The documentation also now has info on the "ret" typemap.
|
||||
|
||||
2016-09-27: ahmed-usman
|
||||
[xml] Handle template parameters correctly.
|
||||
|
||||
2016-09-27: dontpanic92
|
||||
[Go] Fix argument names in inherited functions taking more than 8
|
||||
parameters. Fixes #795.
|
||||
|
||||
2016-09-26: smarchetto
|
||||
[Scilab] mlists that map pointers can be given a custom type name.
|
||||
|
||||
2016-09-25: wsfulton
|
||||
Patch #793 from q-p to expand exception handling to include std::bad_cast
|
||||
in std_except.i.
|
||||
|
||||
2016-09-24: olly
|
||||
[PHP] Fix code generated for feature("director:except") -
|
||||
previously the return value of call_user_function() was ignored and
|
||||
we checked an uninitialised value instead. Fixes #627. Based on
|
||||
patch from Sergey Seroshtan.
|
||||
|
||||
2016-09-22: wsfulton
|
||||
[Python] More flexible python builtin slots for overloaded C++ function.
|
||||
|
||||
The closure names used for builtin slots are mangled with their functype so
|
||||
that overloaded C++ method names can be used for multiple slots.
|
||||
For example:
|
||||
|
||||
%feature("python:slot", "mp_subscript", functype="binaryfunc") SimpleArray::__getitem__;
|
||||
%feature("python:slot", "sq_item", functype="ssizeargfunc") SimpleArray::__getitem__(Py_ssize_t n);
|
||||
|
||||
will generate closures:
|
||||
|
||||
SWIGPY_SSIZEARGFUNC_CLOSURE(_wrap_SimpleArray___getitem__) /* defines _wrap_SimpleArray___getitem___ssizeargfunc_closure */
|
||||
SWIGPY_BINARYFUNC_CLOSURE(_wrap_SimpleArray___getitem__) /* defines _wrap_SimpleArray___getitem___binaryfunc_closure */
|
||||
|
||||
Previously only one name was defined: _wrap_SimpleArray___getitem___closure.
|
||||
Hence the overloaded __getitem__ method can be used to support both mp_subscript and sq_item slots.
|
||||
|
||||
2016-09-17: wsfulton
|
||||
[Python] Fix iterators for containers of NULL pointers (or Python None) when using
|
||||
-builtin. Previously iteration would stop at the first element that was NULL.
|
||||
|
||||
2016-09-16: olly
|
||||
[Javascript] Fix SWIG_exception() macro to return from the current
|
||||
function. Fixes #789, reported by Julien Dutriaux.
|
||||
|
||||
2016-09-16: olly
|
||||
[PHP] Fix SWIG_exception() macro to return from the current function.
|
||||
Fixes #240, reported by Sergey Seroshtan.
|
||||
|
||||
2016-09-12: xypron
|
||||
[C#] Patch #786 Keyword rename to be CLS compliant by adding an underscore
|
||||
suffix instead of an underscore prefix to the C symbol name. Please use an explicit
|
||||
%rename to rename the symbol with a _ prefix if you want the old symbol name.
|
||||
|
||||
*** POTENTIAL INCOMPATIBILITY ***
|
||||
|
||||
2016-09-09: olly
|
||||
[Python] Fix import handling for Python 2.6 to work in a frozen
|
||||
application. Fixes #145, reported by Thomas Kluyver.
|
||||
|
||||
2016-09-02: smarchetto
|
||||
[Scilab] Pointers are mapped to mlist instead of tlist
|
||||
(mlist better for scilab overloading)
|
||||
|
||||
2016-09-02: olly
|
||||
[PHP] Fix "out" typemap for member function pointers and "in"
|
||||
typemap for char INPUT[ANY].
|
||||
|
||||
2016-09-01: wsfulton
|
||||
[Python] More efficient Python slicing.
|
||||
Call reserve for container types that support it to avoid repeated
|
||||
memory reallocations for new slices or slices that grow in size.
|
||||
|
||||
2016-09-01: wsfulton
|
||||
[Python] #771 - Make builtin types hashable by default.
|
||||
Default hash is the underlying C/C++ pointer. This matches up with testing for
|
||||
equivalence (Py_EQ in SwigPyObject_richcompare) which compares the pointers.
|
||||
|
||||
2016-08-22: wsfulton
|
||||
[Python] The following builtin slots can be customized like other slots via the
|
||||
"python:<x>" and "python:slot" features where <x> is the appropriate slot name:
|
||||
tp_allocs
|
||||
tp_bases
|
||||
tp_basicsize
|
||||
tp_cache
|
||||
tp_del
|
||||
tp_dealloc
|
||||
tp_flags
|
||||
tp_frees
|
||||
tp_getset
|
||||
tp_is_gc
|
||||
tp_maxalloc
|
||||
tp_methods
|
||||
tp_mro
|
||||
tp_new
|
||||
tp_next
|
||||
tp_prev
|
||||
tp_richcompare
|
||||
tp_subclasses
|
||||
tp_weaklist
|
||||
was_sq_ass_slice
|
||||
was_sq_slice
|
||||
|
||||
A few documentation improvements for slot customization.
|
||||
|
||||
2016-08-09: joequant
|
||||
[R] Patch #765 Fix extern "C" header includes for C++ code.
|
||||
|
||||
2016-08-05: olly
|
||||
[xml] Fix how the output filename is built to avoid problems when
|
||||
it contains the embedded strings ".c", ".cpp" or ".cxx".
|
||||
Fixes #540 reported by djack42.
|
||||
|
||||
2016-07-01: wsfulton
|
||||
Fix corner case of wrapping std::vector of T pointers where a pointer to a pointer of T
|
||||
also exists in the wrapped code. SF Bug 2359417 (967).
|
||||
|
||||
2016-06-26: wkalinin
|
||||
[Java, C#] Patch #681 Fix seg fault when ignoring nested classes.
|
||||
|
||||
2016-06-25: mromberg
|
||||
[Python] #711 Fix -castmode and conversion of signed and unsigned integer types.
|
||||
See 2015-12-23 CHANGES entry for details of these improvements when they were
|
||||
implemented for the default options (ie not using -castmode).
|
||||
|
||||
2016-06-25: ahnolds
|
||||
Patch #730 - Fix %implicitconv for overloaded functions when using
|
||||
-castmode or -fastdispatch options.
|
||||
|
||||
The result is that in all overload cases where there are multiple possibilities
|
||||
with the same number of arguments, the dispatch function will first check for
|
||||
exact (aka non implicit) matches, and then subsequently check for implicit
|
||||
casting matches. This was already happening in the normal dispatch situation,
|
||||
and in the -fastdispatch case two passes through the candidates were happening,
|
||||
just with SWIG_POINTER_IMPLICIT_CONV always set. After this patch, it is not set
|
||||
on the first pass, and then set on the second pass.
|
||||
|
||||
2016-06-25: liorgold
|
||||
Patch #727 - Add support for C++11 type aliasing.
|
||||
|
||||
Version 3.0.10 (12 Jun 2016)
|
||||
============================
|
||||
|
||||
|
|
|
|||
313
CHANGES.current
313
CHANGES.current
|
|
@ -4,7 +4,7 @@ See the RELEASENOTES file for a summary of changes in each release.
|
|||
Issue # numbers mentioned below can be found on Github. For more details, add
|
||||
the issue number to the end of the URL: https://github.com/swig/swig/issues/
|
||||
|
||||
Version 3.0.11 (29 Dec 2016)
|
||||
Version 3.0.12 (in progress)
|
||||
============================
|
||||
|
||||
2016-12-30: olly
|
||||
|
|
@ -12,314 +12,3 @@ Version 3.0.11 (29 Dec 2016)
|
|||
as "CONST_PERSISTENT" to avoid segmentation fault on module unload.
|
||||
Fixes https://github.com/swig/swig/issues/859 reported by Timotheus
|
||||
Pokorra - thanks also to Javier Torres for a minimal reproducer.
|
||||
|
||||
2016-12-24: wsfulton
|
||||
[C#] Add %feature("csdirectordelegatemodifiers") to enable customization
|
||||
of the delegate access modifiers generated in director classes.
|
||||
Fixes issue #748.
|
||||
|
||||
2016-12-23: wsfulton
|
||||
[Python] Fix builtin "python:slot" feature failing for tp_hash when using
|
||||
hashfunc closure with a "Wrong type for hash function" for Python 2.
|
||||
Issue #843.
|
||||
|
||||
2016-12-21: joequamt
|
||||
Changed generation of functions so that only functions
|
||||
that end in _set generate accessor functions rather than
|
||||
looking for "set".
|
||||
Change generation of operators to not have underscores
|
||||
to start in R. Users need to provide custom names for these operator overloads.
|
||||
|
||||
2016-12-21: olly
|
||||
Fix isfinite() checks to work with all C++11 compilers.
|
||||
Fixes issues #615, #788 and #849.
|
||||
|
||||
2016-12-20: wsfulton
|
||||
%namewarn unnecessarily caused keyword warnings for non-instantiated template classes
|
||||
and duplicate warnings for instantiated template classes when keywords were used.
|
||||
Issue #845.
|
||||
|
||||
2016-12-18: ezralanglois
|
||||
[Python, Ruby, Octave] Memory leak fix on error in std::pair wrappers.
|
||||
Issue #851.
|
||||
|
||||
2016-12-18: wsfulton
|
||||
Zero initialize arrays when using %array_class and %array_functions.
|
||||
|
||||
2016-12-18: t-ikegami
|
||||
[Python] Fix #446
|
||||
Python %array_class of carrays.i failed with -builtin option.
|
||||
|
||||
2016-12-16: bcaine
|
||||
[Guile] Patch #744 Added support for Guile's native pointer functionality
|
||||
|
||||
2016-12-01: wsfulton
|
||||
[Python] Issue #769.
|
||||
Add optional moduleimport attribute to %module so that the
|
||||
default module import code can be overridden. See the "Searching for the wrapper module"
|
||||
documentation in Python.html. Example:
|
||||
|
||||
%module(moduleimport="import _foo") foo
|
||||
|
||||
$module also expands to the low-level C/C++ module name, so the following is the
|
||||
same as above
|
||||
|
||||
%module(moduleimport="import $module") foo
|
||||
|
||||
2016-11-30: olly
|
||||
[PHP] Add support for PHP7. PHP5's C extension API has changed
|
||||
substantially so you need to use -php7 to specify you want PHP7
|
||||
compatible wrappers. The default extension for generated wrappers
|
||||
is now .cxx (to match SWIG's default for every other language - to
|
||||
generate foo_wrap.cpp you can run SWIG with -cppext cpp). Fixes
|
||||
issue #571.
|
||||
|
||||
As part of this change, the language subdirectory for PHP5 has
|
||||
changed from "php" to "php5" - if you are making use of the search
|
||||
path feature where the language subdirectory of each directory
|
||||
is also searched, you'll need to update your bindings. A simple
|
||||
fix which works for older and newer SWIG is to add a symlink:
|
||||
ln -s php php5
|
||||
|
||||
*** POTENTIAL INCOMPATIBILITY ***
|
||||
|
||||
2016-11-30: olly
|
||||
[PHP] Only emit one copy of each distinct arginfo. Previously we
|
||||
emitted a separate one for every wrapped function, but typically
|
||||
many functions have the same number of parameters and combinations
|
||||
of parameters passed by reference or not.
|
||||
|
||||
This change significantly reduces both the size of the generated
|
||||
wrapper, and of the compiled PHP extension module (e.g. by ~6% for
|
||||
the stripped extension module for Xapian's PHP7 bindings).
|
||||
|
||||
2016-11-28: wsfulton
|
||||
Fix %rename override of wildcard %rename for templates. For example:
|
||||
|
||||
%rename(GlobalIntOperator) *::operator bool; // wildcard %rename
|
||||
|
||||
%rename(XIntOperator) X::operator bool; // fix now overrides first %rename above
|
||||
OR
|
||||
%rename(XIntOperator) X<int>::operator bool; // fix now overrides first %rename above
|
||||
|
||||
template<typename T> struct X {
|
||||
operator bool();
|
||||
...
|
||||
};
|
||||
%template(Xint) X<int>;
|
||||
|
||||
This also fixes %rename override of global %rename for templates. For example:
|
||||
|
||||
// Global rename to make all functions start with a lower case letter
|
||||
%rename("%(firstlowercase)s", %$isfunction ) "";
|
||||
%rename(woohoo) W::Woo; // fix now overrides above %rename
|
||||
|
||||
template<typename T> struct W {
|
||||
W Woo();
|
||||
...
|
||||
};
|
||||
%template(Wint) W<int>;
|
||||
|
||||
The above also introduces a possibly unexpected change. Many of the STL containers
|
||||
provided by SWIG use %rename to rename some methods, eg in std::vector, push_back
|
||||
is renamed to add in Java. Previously this intended rename did not happen when using
|
||||
using global %rename rules and the method would remain as push_back, but is now
|
||||
renamed to add. Some more info in issue #856.
|
||||
|
||||
*** POTENTIAL INCOMPATIBILITY ***
|
||||
|
||||
2016-11-26: m7thon
|
||||
[Python] Issue #709 - improved wrapping of division operators
|
||||
'from __future__ import division' now works in Python 2 whether or not the
|
||||
-py3 flag is used.
|
||||
|
||||
2016-11-12: joequant
|
||||
[R] Issue #697 - fix comma issue with overload methods
|
||||
|
||||
2016-11-12: joequant
|
||||
[R] Issue #555 - R runtime needs stdio.h
|
||||
|
||||
2016-11-02: wsfulton
|
||||
[Python] Issue #816 - fix compilation error when using -extranative and -builtin.
|
||||
|
||||
2016-11-02: liorgold
|
||||
Patch #741 - Add support for C++11 alias templates, see updated CPlusPlus11.html
|
||||
documentation.
|
||||
|
||||
2016-10-30: myd7349
|
||||
[C#] Patch #740 Add std_array.i for C# for wrapping std::array.
|
||||
|
||||
Patch also enhances std::vector<std::wstring> C# wrappers with additional functions
|
||||
(Contains, IndexOf, LastIndexOf and Remove).
|
||||
|
||||
2016-10-30: tobilau
|
||||
[Java] Fix wrappers for wstring parameters in director methods to cleanup local
|
||||
ref after director callback has finished.
|
||||
|
||||
2016-10-23: wsfulton
|
||||
[C#] Add missing csdirectorin VOID_INT_PTR and csdirectorout VOID_INT_PTR typemaps.
|
||||
|
||||
2016-10-23: jiulongw
|
||||
Patch #781 - Fix wrapping of C compound expressions containing char constants
|
||||
in quotes such as:
|
||||
|
||||
#define H_SUPPRESS_SCALING_MAGIC (('s'<<24) | ('u'<<16) | ('p'<<8) | 'p')
|
||||
|
||||
enum DifferentTypes {
|
||||
typecharcompound='A'+1,
|
||||
typecharcompound2='B' << 2
|
||||
};
|
||||
|
||||
2016-10-13: wsfulton
|
||||
[Python] Issue #808 - fix Python pickling and metaclass for builtin wrappers.
|
||||
|
||||
The metaclass (SwigPyObjectType) for SWIG objects was not defined in
|
||||
a way that let importlib successfully import the Python wrappers.
|
||||
The pickle module previously failed to pickle objects because it couldn't
|
||||
determine what module the SWIG wrapped objects were in.
|
||||
|
||||
2016-09-29: wsfulton
|
||||
[Allegrocl, CFFI, GO, Javascript, Ocaml, R, Scilab]
|
||||
Add missing support for the "ret" typemap in a few target languages.
|
||||
The documentation also now has info on the "ret" typemap.
|
||||
|
||||
2016-09-27: ahmed-usman
|
||||
[xml] Handle template parameters correctly.
|
||||
|
||||
2016-09-27: dontpanic92
|
||||
[Go] Fix argument names in inherited functions taking more than 8
|
||||
parameters. Fixes #795.
|
||||
|
||||
2016-09-26: smarchetto
|
||||
[Scilab] mlists that map pointers can be given a custom type name.
|
||||
|
||||
2016-09-25: wsfulton
|
||||
Patch #793 from q-p to expand exception handling to include std::bad_cast
|
||||
in std_except.i.
|
||||
|
||||
2016-09-24: olly
|
||||
[PHP] Fix code generated for feature("director:except") -
|
||||
previously the return value of call_user_function() was ignored and
|
||||
we checked an uninitialised value instead. Fixes #627. Based on
|
||||
patch from Sergey Seroshtan.
|
||||
|
||||
2016-09-22: wsfulton
|
||||
[Python] More flexible python builtin slots for overloaded C++ function.
|
||||
|
||||
The closure names used for builtin slots are mangled with their functype so
|
||||
that overloaded C++ method names can be used for multiple slots.
|
||||
For example:
|
||||
|
||||
%feature("python:slot", "mp_subscript", functype="binaryfunc") SimpleArray::__getitem__;
|
||||
%feature("python:slot", "sq_item", functype="ssizeargfunc") SimpleArray::__getitem__(Py_ssize_t n);
|
||||
|
||||
will generate closures:
|
||||
|
||||
SWIGPY_SSIZEARGFUNC_CLOSURE(_wrap_SimpleArray___getitem__) /* defines _wrap_SimpleArray___getitem___ssizeargfunc_closure */
|
||||
SWIGPY_BINARYFUNC_CLOSURE(_wrap_SimpleArray___getitem__) /* defines _wrap_SimpleArray___getitem___binaryfunc_closure */
|
||||
|
||||
Previously only one name was defined: _wrap_SimpleArray___getitem___closure.
|
||||
Hence the overloaded __getitem__ method can be used to support both mp_subscript and sq_item slots.
|
||||
|
||||
2016-09-17: wsfulton
|
||||
[Python] Fix iterators for containers of NULL pointers (or Python None) when using
|
||||
-builtin. Previously iteration would stop at the first element that was NULL.
|
||||
|
||||
2016-09-16: olly
|
||||
[Javascript] Fix SWIG_exception() macro to return from the current
|
||||
function. Fixes #789, reported by Julien Dutriaux.
|
||||
|
||||
2016-09-16: olly
|
||||
[PHP] Fix SWIG_exception() macro to return from the current function.
|
||||
Fixes #240, reported by Sergey Seroshtan.
|
||||
|
||||
2016-09-12: xypron
|
||||
[C#] Patch #786 Keyword rename to be CLS compliant by adding an underscore
|
||||
suffix instead of an underscore prefix to the C symbol name. Please use an explicit
|
||||
%rename to rename the symbol with a _ prefix if you want the old symbol name.
|
||||
|
||||
*** POTENTIAL INCOMPATIBILITY ***
|
||||
|
||||
2016-09-09: olly
|
||||
[Python] Fix import handling for Python 2.6 to work in a frozen
|
||||
application. Fixes #145, reported by Thomas Kluyver.
|
||||
|
||||
2016-09-02: smarchetto
|
||||
[Scilab] Pointers are mapped to mlist instead of tlist
|
||||
(mlist better for scilab overloading)
|
||||
|
||||
2016-09-02: olly
|
||||
[PHP] Fix "out" typemap for member function pointers and "in"
|
||||
typemap for char INPUT[ANY].
|
||||
|
||||
2016-09-01: wsfulton
|
||||
[Python] More efficient Python slicing.
|
||||
Call reserve for container types that support it to avoid repeated
|
||||
memory reallocations for new slices or slices that grow in size.
|
||||
|
||||
2016-09-01: wsfulton
|
||||
[Python] #771 - Make builtin types hashable by default.
|
||||
Default hash is the underlying C/C++ pointer. This matches up with testing for
|
||||
equivalence (Py_EQ in SwigPyObject_richcompare) which compares the pointers.
|
||||
|
||||
2016-08-22: wsfulton
|
||||
[Python] The following builtin slots can be customized like other slots via the
|
||||
"python:<x>" and "python:slot" features where <x> is the appropriate slot name:
|
||||
tp_allocs
|
||||
tp_bases
|
||||
tp_basicsize
|
||||
tp_cache
|
||||
tp_del
|
||||
tp_dealloc
|
||||
tp_flags
|
||||
tp_frees
|
||||
tp_getset
|
||||
tp_is_gc
|
||||
tp_maxalloc
|
||||
tp_methods
|
||||
tp_mro
|
||||
tp_new
|
||||
tp_next
|
||||
tp_prev
|
||||
tp_richcompare
|
||||
tp_subclasses
|
||||
tp_weaklist
|
||||
was_sq_ass_slice
|
||||
was_sq_slice
|
||||
|
||||
A few documentation improvements for slot customization.
|
||||
|
||||
2016-08-09: joequant
|
||||
[R] Patch #765 Fix extern "C" header includes for C++ code.
|
||||
|
||||
2016-08-05: olly
|
||||
[xml] Fix how the output filename is built to avoid problems when
|
||||
it contains the embedded strings ".c", ".cpp" or ".cxx".
|
||||
Fixes #540 reported by djack42.
|
||||
|
||||
2016-07-01: wsfulton
|
||||
Fix corner case of wrapping std::vector of T pointers where a pointer to a pointer of T
|
||||
also exists in the wrapped code. SF Bug 2359417 (967).
|
||||
|
||||
2016-06-26: wkalinin
|
||||
[Java, C#] Patch #681 Fix seg fault when ignoring nested classes.
|
||||
|
||||
2016-06-25: mromberg
|
||||
[Python] #711 Fix -castmode and conversion of signed and unsigned integer types.
|
||||
See 2015-12-23 CHANGES entry for details of these improvements when they were
|
||||
implemented for the default options (ie not using -castmode).
|
||||
|
||||
2016-06-25: ahnolds
|
||||
Patch #730 - Fix %implicitconv for overloaded functions when using
|
||||
-castmode or -fastdispatch options.
|
||||
|
||||
The result is that in all overload cases where there are multiple possibilities
|
||||
with the same number of arguments, the dispatch function will first check for
|
||||
exact (aka non implicit) matches, and then subsequently check for implicit
|
||||
casting matches. This was already happening in the normal dispatch situation,
|
||||
and in the -fastdispatch case two passes through the candidates were happening,
|
||||
just with SWIG_POINTER_IMPLICIT_CONV always set. After this patch, it is not set
|
||||
on the first pass, and then set on the second pass.
|
||||
|
||||
2016-06-25: liorgold
|
||||
Patch #727 - Add support for C++11 type aliasing.
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
<H1><a name="Sections">SWIG-3.0 Documentation</a></H1>
|
||||
|
||||
<p>
|
||||
Last update : SWIG-3.0.11 (29 Dec 2016)
|
||||
Last update : SWIG-3.0.12 (in progress)
|
||||
</p>
|
||||
|
||||
<H2><a name="Sections_Sections">Sections</a></H2>
|
||||
|
|
|
|||
2
README
2
README
|
|
@ -1,6 +1,6 @@
|
|||
SWIG (Simplified Wrapper and Interface Generator)
|
||||
|
||||
Version: 3.0.11 (29 Dec 2016)
|
||||
Version: 3.0.12 (in progress)
|
||||
|
||||
Tagline: SWIG is a compiler that integrates C and C++ with languages
|
||||
including Perl, Python, Tcl, Ruby, PHP, Java, C#, D, Go, Lua,
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ dnl Process this file with autoconf to produce a configure script.
|
|||
dnl The macros which aren't shipped with the autotools are stored in the
|
||||
dnl Tools/config directory in .m4 files.
|
||||
|
||||
AC_INIT([swig],[3.0.11],[http://www.swig.org])
|
||||
AC_INIT([swig],[3.0.12],[http://www.swig.org])
|
||||
|
||||
dnl NB: When this requirement is increased to 2.60 or later, AC_PROG_SED
|
||||
dnl definition below can be removed
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue