Previously SWIG looked at the indentation of the first line and removed that many characters from each subsequent line, regardless of what those characters were. This was made worse because SWIG's preprocessor removes any whitespace before a '#'. Fixes github issue #379, reported by Joe Orton.
195 lines
7.6 KiB
Text
195 lines
7.6 KiB
Text
Below are the changes for the current release.
|
|
See the CHANGES file for changes in older releases.
|
|
See the RELEASENOTES file for a summary of changes in each release.
|
|
|
|
Version 3.0.6 (in progress)
|
|
===========================
|
|
|
|
2015-06-29: olly
|
|
[Python] Improve handling of whitespace in %pythoncode.
|
|
|
|
Previously SWIG looked at the indentation of the first line and
|
|
removed that many characters from each subsequent line, regardless
|
|
of what those characters were. This was made worse because SWIG's
|
|
preprocessor removes any whitespace before a '#'. Fixes github
|
|
issue #379, reported by Joe Orton.
|
|
|
|
2015-06-12: wsfulton
|
|
[R] Fix #430 - call to SWIG_createNewRef in copyToC was incorrectly named.
|
|
|
|
2015-06-11: sghirate
|
|
[C#] Patch #427 adds in new command line option -outfile to combine all the
|
|
generated C# code into a single file.
|
|
|
|
2015-06-09: wsfulton
|
|
Fix seg fault processing C++11 type aliasing. Issue #424.
|
|
|
|
2015-05-28: wsfulton
|
|
[Python] Add new feature "python:cdefaultargs" to control default argument
|
|
code generation. By default, SWIG attempts to convert C/C++ default argument values
|
|
into Python values and generates code into the Python layer with these values.
|
|
Recent versions of SWIG are able to convert more of these values, however, the
|
|
new behaviour can be circumvented if desired via this new feature, such that
|
|
the default argument values are obtained from the C layer and not the Python layer.
|
|
For example:
|
|
|
|
struct CDA {
|
|
int fff(int a = 1, bool b = false);
|
|
};
|
|
|
|
The default code generation in the Python layer is:
|
|
|
|
class CDA(_object):
|
|
...
|
|
def fff(self, a=1, b=False):
|
|
return _default_args.CDA_fff(self, a, b)
|
|
|
|
Adding the feature:
|
|
|
|
%feature("python:cdefaultargs") CDA::fff;
|
|
|
|
Results in:
|
|
|
|
class CDA(_object):
|
|
...
|
|
def fff(self, *args):
|
|
return _default_args.CDA_fff(self, *args)
|
|
|
|
Some code generation modes, eg -builtin and -fastproxy, are unaffected by this as
|
|
the default values are always obtained from the C layer.
|
|
|
|
2015-05-27: wsfulton
|
|
[Python] Deal with an integer as the default value of a typedef to bool
|
|
parameter in the C++ prototype. See #327. Regression from 3.0.0 onwards.
|
|
|
|
2015-05-19: olly
|
|
[Python] Fix warning when compiling generated code with MSVC.
|
|
(Fixes https://sourceforge.net/p/swig/patches/351/ reported by
|
|
Mateusz Szymański).
|
|
|
|
2015-05-14: wsfulton
|
|
Fix seg fault wrapping shared_ptr of classes with private constructors and destructors.
|
|
This also fixes the "unref" feature when used on classes with private destructors.
|
|
|
|
2015-05-10: wsfulton
|
|
[Java] Fix multi-argument typemaps (char *STRING, size_t LENGTH)
|
|
so that they can be applied to a wider range of types. Fixes #385.
|
|
|
|
2015-05-07: olly
|
|
[Python] Deal with an integer as the default value of a bool
|
|
parameter in the C++ prototype. Fixes github #327, reported by
|
|
Greg Allen.
|
|
|
|
2015-05-07: LindleyF
|
|
[Java] Allow feature("director") and feature("ref") to be used
|
|
together. Github PR#403.
|
|
|
|
2015-05-05: olly
|
|
Suppress warning 325 "Nested class not currently supported (Foo
|
|
ignored)" when Foo has already been explicitly ignored with "%ignore".
|
|
|
|
2015-05-04: wsfulton
|
|
Add support for friend templates, including operator overloading - fixes #196. Considering
|
|
the example below, previously the operator gave a syntax error and friendfunc incorrectly
|
|
warned with:
|
|
|
|
"Warning 503: Can't wrap 'friendfunc<(Type)>' unless renamed to a valid identifier."
|
|
|
|
template <class Type> class MyClass {
|
|
friend int friendfunc <Type>(double is, MyClass <Type> & x);
|
|
friend int operator<< <Type>(double un, const MyClass <Type> &x);
|
|
};
|
|
|
|
The following also previously incorrectly warned with:
|
|
|
|
"Warning 302: Identifier 'template_friend' redefined (ignored),"
|
|
|
|
template<typename T> T template_friend(T);
|
|
struct MyTemplate {
|
|
template<typename T> friend T template_friend(T);
|
|
};
|
|
|
|
2015-05-01: wsfulton
|
|
Fix handling of conversion operators where the operator is split over multiple
|
|
lines or has comments within the operator type. Fixes #401.
|
|
|
|
Also fix similar problem with normal operators which gave a syntax error if split over
|
|
multiple lines or had a comment within the operator declaration.
|
|
|
|
2015-04-30: olly
|
|
Ignore unknown preprocessor directives which are inside an inactive
|
|
conditional (github issue #394, reported by Dan Wilcox).
|
|
Regression introduced in 3.0.3.
|
|
|
|
2015-04-27: vadz
|
|
[Python] Fix "default" typemap used after an argument with "numinputs=0" (#377).
|
|
|
|
2015-04-24: wsfulton
|
|
[Python] Fix #256. Code generated with '-builtin -modernargs' segfaults for any
|
|
method taking zero arguments.
|
|
|
|
Also fixes: "SystemError: error return without exception set" during error checking
|
|
when using just -builtin and the incorrect number of arguments is passed to a class
|
|
method expecting zero arguments.
|
|
|
|
2015-04-23: wsfulton
|
|
[Java] Bug #386 - Memory leak fix in (char *STRING, size_t LENGTH) typemaps.
|
|
|
|
2015-04-23: vadz
|
|
[Python] Make "default" typemap work again (#330, #377).
|
|
|
|
2015-04-23: vadz
|
|
[Python] Fix the use of default values for the pointer types (#365, #376).
|
|
|
|
2015-04-23: wsfulton
|
|
Fix 'make check-ccache' which is part of 'make check' when one of the CCACHE_
|
|
environment variables, for example CCACHE_DISABLE, is set.
|
|
|
|
2015-04-14: wsfulton
|
|
Clearer warning message for badly constructed typecheck typemaps. For example, was:
|
|
|
|
example.i:3: Warning 467: Overloaded foo(int) not supported (no type checking
|
|
rule for 'int').
|
|
|
|
Now:
|
|
|
|
example.i:3: Warning 467: Overloaded foo(int) not supported (incomplete type checking
|
|
rule - no precedence level in typecheck typemap for 'int').
|
|
|
|
2015-04-11: wsfulton
|
|
[Java] Fix #353 - Linker multiple definition of 'ExceptionMatches' when
|
|
using directors and multiple modules.
|
|
|
|
2015-04-11: wsfulton
|
|
Merge #320 - Make __dict__ accessible for Python builtin classes.
|
|
|
|
2015-04-07: wsfulton
|
|
Fix #375 - parsing of extern "C" and typedef for example:
|
|
extern "C" typedef void (*Hook2_t)(int, const char *);
|
|
extern "C" typedef int Integer;
|
|
|
|
2015-03-12: olly
|
|
-DSWIG_DIRECTOR_STATIC is now supported for all languages with
|
|
director support, not only Python and PHP.
|
|
|
|
2015-03-02: ianlancetaylor
|
|
[Go] Add -cgo option, required for Go versions 1.5 and
|
|
later.
|
|
|
|
2015-02-26: olly
|
|
Fix segmentation fault when top==NULL, introduced by nested class
|
|
handling (reported in issue#346 by Paweł Tomulik).
|
|
|
|
2015-02-09: wsfulton
|
|
[Guile] Fix generated code for static const char member variables when
|
|
defined and declared inline.
|
|
|
|
2015-02-09: mishas
|
|
[Go] Fix %import of files in sub directories.
|
|
|
|
2015-02-05: ianlancetaylor
|
|
[Go] Ignore Go specific type maps (goin, goout, etc.) if they are empty.
|
|
|
|
2015-02-05: ianlancetaylor
|
|
[Go] Generated Go code no longer calls _swig_goallocate or
|
|
_swig_makegostring, as they will no longer work as of Go 1.5.
|