Commit graph

1,548 commits

Author SHA1 Message Date
William S Fulton
d7f91bc47a CHANGES files corrections since 2.0.12 release
A number of fixes committed since 2.0.11 release were intended for the
3.0.0 release were backported to the maintenance-2.0 branch for 2.0.12.
2014-02-16 22:28:57 +00:00
William S Fulton
8cdae65ee9 C++ exception (wrapped by a Python exception as a shadow instance) segfaulting Python
Patch #137
2014-02-16 18:02:30 +00:00
William S Fulton
90a9d750c9 Add support for cdata library for Java 2014-02-15 22:13:50 +00:00
William S Fulton
b457f8f290 Changes entry for guile non-ascii strings fix 2014-02-06 20:02:05 +00:00
William S Fulton
0383d08444 Add new swigtype_inout.i library containing SWIGTYPE *& OUTPUT typemaps. 2014-02-04 06:54:22 +00:00
Ian Lance Taylor
f2dc3a9c1f [Go] Add %go_import directive. 2014-01-21 11:27:09 -08:00
Ian Lance Taylor
3785454a87 [Go] Add support for Go 1.3, not yet released. 2014-01-21 11:18:55 -08:00
William S Fulton
cc650e692e Director exceptions now derive from std::exception 2014-01-20 19:40:52 +00:00
William S Fulton
f068be89e5 Fix PHP compilation error in ZTS mode (64 bit windows) due to TSRMLS_FETCH() expansion 2014-01-16 06:48:35 +00:00
William S Fulton
9033b2de47 Merge branch 'diorcety-typedef-prefix'
* diorcety-typedef-prefix:
  Modify typedef_typedef testcase to work for all languages
  Add test for checking prefix resolving in typedef
  Typedef typedef prefix test for templates
  Resolve prefix when resolving typedef

Conflicts:
	CHANGES.current
2014-01-14 07:31:40 +00:00
William S Fulton
e531578c54 Modify typedef_typedef testcase to work for all languages
Add CHANGES note

Closes #112.
2014-01-14 07:21:40 +00:00
Karl Wette
5b167cc12d octave: update support to Octave version 3.8.0 2014-01-13 18:24:17 +13:00
William S Fulton
c34d7f6d23 %naturalvar feature fixes and documentation
Fix and document the naturalvar feature override behaviour - the naturalvar
feature attached to a variable name has precedence over the naturalvar
feature attached to the variable's type. The overriding was not working
when turning the feature off on the variable's name.

Fix so that any use of the naturalvar feature will override the global
setting. Previously when set globally by -naturalvar or %module(naturalvar=1),
use of the naturalvar feature was not always honoured.
2014-01-11 19:32:43 +00:00
Ian Lance Taylor
90eb5f9095 [Go] Fix bug that broke using directors from a thread not created by Go. 2014-01-06 09:28:52 -08:00
William S Fulton
2866c70f78 Add changes entry for python imports/packages changes 2013-12-24 17:22:42 +00:00
Vadim Zeitlin
cdf1ba9120 Don't accept strings too long to fit in char[N] with trailing NUL.
It was previously possible to assign "hello" to a variable backed by char[5]
storage in C, and the array contained the correct character data but without
the trailing NUL, which was unexpected in C.

This is not allowed any more, only "helo" can fit into a char[5] now and
anything else fails the type check, just as it already happened for the longer
strings before.

Closes #122
2013-12-23 21:13:25 +00:00
Vadim Zeitlin
88a0e228a9 Change the length of strings created from fixed-size buffers.
Use the usual C rule for NUL-terminated strings instead of discarding all the
trailing NUL characters.

This was unexpected (as buffers in C code are not necessarily always padded
with NULs to their full length) and also inconsistent among languages as this
was only done for those of them using typemaps/strings.swg but not for C# or
Java, for example, which terminated the string at the first NUL even before
this change.

Notice that this patch couldn't use strlen() or wcslen() with possibly not
NUL-terminated strings, so we had to add [our own equivalents of] strnlen()
and wcsnlen() and use them instead. This required adding yet another parameter
to string typemap macros, so update the example using them accordingly too.
2013-12-23 21:12:17 +00:00
William S Fulton
e7834c8daa Perl directors changes entry added and minor tidy up 2013-12-23 18:04:14 +00:00
William S Fulton
92128eef44 C++11 support for new versions of erase and insert in the STL containers.
The erase and insert methods in the containers use const_iterator instead
of iterator in C++11.  There are times when the methods wrapped must match
the parameters exactly. Specifically when full type information for
template types is missing or SWIG fails to look up the type correctly,
for example:

  %include <std_vector.i>
  typedef float Real;
  %template(RealVector) std::vector<Real>;

SWIG does not find std::vector<Real>::iterator because %template using
typedefs does not always work and so SWIG doesn't know if the type is
copyable and so uses SwigValueWrapper<iterator> which does
not support conversion to another type (const_iterator). This resulted
in compilation errors when using the C++11 version of the containers.

Closes #73
2013-12-22 19:52:55 +00:00
Ian Lance Taylor
8dba8b1fde Go: Don't require that Go environment variables be set when running
examples or testsuite.
2013-12-18 11:03:39 -08:00
Ian Lance Taylor
ba049db40b Remove Go -longsize option. 2013-12-17 17:37:55 -08:00
Ian Lance Taylor
532da6989c [Go] Add -go-pkgpath option. 2013-12-17 13:50:39 -08:00
Ian Lance Taylor
1dca0af024 Update for Go 1.2 release. Add support for linking SWIG code directly
into executable, rather than using a shared library.
2013-12-16 19:50:17 -08:00
Ian Lance Taylor
4cf5de797f Add comment with SWIG file name in files generated for Go. 2013-12-13 11:56:31 -08:00
Olly Betts
dcc4096f8c Add CHANGES.current entry for previous commit 2013-12-12 17:00:26 +13:00
Olly Betts
bef3cfe594 Add CHANGES.current entry and minimal doc update for previous change 2013-12-12 16:06:00 +13:00
Olly Betts
cecd89f66f [PHP] The usage of $input in PHP directorout typemaps has been
changed to be consistent with other languages.  The typemaps
provided by SWIG have been updated accordingly, but if you
have written your own directorout typemaps, you'll need to
update $input to &$input (or make equivalent changes).

*** POTENTIAL INCOMPATIBILITY  ***
2013-12-12 15:40:15 +13:00
Vadim Zeitlin
6624f66af5 Just a correction to the last commit changelog entry.
Mention the target languages affected.
2013-12-03 23:46:13 +01:00
Vadim Zeitlin
ed28725a15 Add std_auto_ptr.i defining typemaps for returning std::auto_ptr<>.
These typemaps are currently defined for C#, Java and Python only and the
tests are provided only for these languages.

Also add a brief description of the new header to the documentation.
2013-12-03 23:45:20 +01:00
William S Fulton
efe1d8aea7 Update changes file with previous commit dropping .NET 1.1 support 2013-11-09 12:17:52 +00:00
William S Fulton
9df7bee570 Changes file for recent director improvements 2013-11-07 22:51:35 +00:00
William S Fulton
8da4d6712d Fix Visual Studio compile error in C++ wrappers due to #include <exception> within extern "C" block.
Fixes SF #1340
2013-10-17 21:54:58 +01:00
William S Fulton
0e54a51c10 Add missing #include <stddef.h> for offsetof when using -builtin.
Fixes SF #1345
2013-10-17 19:56:18 +01:00
Vadim Zeitlin
72afb74f47 Add support for case conversion characters in regex substitutions.
Allow using Perl-like \l, \L, \u, \U and \E escape sequences in the
substitution string used with %rename("%(regex:/pattern/subst/)s").
This is useful for e.g. title casing all string after removing some prefix.

Closes #82
2013-10-15 07:17:56 +01:00
William S Fulton
669a27bb7b Add change note for missing Lua return statements 2013-10-12 17:51:59 +01:00
William S Fulton
3b08385dec changes note for superclass not lispify 2013-10-12 14:33:22 +01:00
William S Fulton
049d50fe91 Add C++11 to changes file 2013-10-12 00:16:05 +01:00
William S Fulton
e186d2176a Fix %naturalvar and templated methods using enums
%naturalvar was not being picked up - use the symbol table instead for
looking up the feature.

use_naturalvar_mode() has been moved to Language class (not strictly necessary though)
2013-10-04 23:08:33 +01:00
William S Fulton
ab2a8b7379 Document Java char **STRING_ARRAY typemap fix 2013-09-20 18:47:46 +01:00
William S Fulton
37bccfd517 Bump version to 3.0.0
SWIG 3 is open for business - looks go crazy!
2013-09-18 00:40:17 +01:00
William S Fulton
80b108eb70 Add swig-2.0.11 release info and date 2013-09-15 15:11:43 +01:00
William S Fulton
0431664b18 Guile OUTPUT typemap fix
Fixes 'attempt to free a non-heap object' in some OUTPUT typemaps.
2013-09-15 10:43:49 +01:00
Artem Serebriyskiy
c3f3880d0c Lua static member access improvements.
1) Static members and static functions inside class can be accessed as ModuleName.ClassName.FunctionName (MemberName respectively). Old way aka ModuleName.ClassName_FunctionName still works.
2) Same goes for enums inside classes: ModuleName.ClassName.EnumValue1 etc.
3) More 'runme' tests for lua + modifications to existing tests to test new changes.

Code is loosely based upon python implemenation of the same thing.

Patch #62.
2013-09-12 21:32:26 +01:00
William S Fulton
a91cd0bc5c Infinity is now by default an acceptable value for type 'float'.
This fix makes the handling of type 'float' and 'double' the same. The implementation requires the
C99 isfinite() macro, or otherwise some platform dependent equivalents, to be available.
2013-09-12 07:28:12 +01:00
William S Fulton
4492a3d76b Document Include Lua error locus in SWIG error messages patches.
Closes #81
2013-08-30 07:11:43 +01:00
William S Fulton
f55ff50dd5 Skip the UTF-8 BOM of including files.
For avoiding illegal token error when parsing include files which have the UTF-8 BOM.

Closes #75.
2013-08-29 19:22:50 +01:00
Vadim Zeitlin
9efaf954c7 Add support for std::map<> comparator template argument for C#.
Allow exporting maps using non-default comparison function.

Closes #77
2013-08-29 19:08:15 +01:00
William S Fulton
b58dabced9 %implicitconv is improved for overloaded functions.
Like in C++, the methods with the actual types are considered before trying implicit conversions.
2013-08-28 20:30:46 +01:00
William S Fulton
1cc735df5e %implicitconv will now accept None where the implicit conversion takes a C/C++ pointer.
Problem highlighted by Bo Peng on the swig-user mailing list. SF patch #230.
2013-08-28 20:28:15 +01:00
Olly Betts
628b4710e5 [Python] Fix clang++ warning in generated wrapper code. 2013-08-24 08:40:08 +12:00