Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Comparing changes

Choose two branches to see what's changed or to start a new pull request. If you need to, you can also compare across forks.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also compare across forks.
base fork: swig/swig
...
head fork: swig/swig
Checking mergeability… Don't worry, you can still create the pull request.
Commits on Feb 08, 2014
@badshah400 badshah400 Lua: Fix void return for non-void functions
Commit #c3f3880d caused the functions
SWIGINTERN int SWIG_Lua_add_namespace_details(lua_State* L,
swig_lua_namespace* ns)
and
SWIGINTERN int SWIG_Lua_namespace_register(lua_State* L,
swig_lua_namespace* ns)
to return void when int returns were expected resulting in the build
failures for plplot's lua bindings for example. This commit fixes the
issue.

Closes #92
4e9ee78
@wsfulton wsfulton Bump version to 2.0.12 f0b60d0
@wsfulton wsfulton Add change note for missing Lua return statements
Conflicts:

	CHANGES.current
d94924a
@talby- talby- fix "long long" tests for perl v5.6 c2f5813
@wsfulton wsfulton Add missing #include <stddef.h> for offsetof when using -builtin.
Fixes SF #1345

Conflicts:

	CHANGES.current
5602a61
@wsfulton wsfulton Fix Visual Studio compile error in C++ wrappers due to #include <exce…
…ption> within extern "C" block.

Fixes SF #1340
122f61c
@wsfulton wsfulton Fix unused variable warning in Ruby wrappers when using gcc -Wall 7b5eb19
@wsfulton wsfulton C++11 support for new versions of erase and insert in the STL contain…
…ers.

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

Conflicts:

	CHANGES.current
	Lib/std/std_unordered_map.i
	Lib/std/std_unordered_set.i
acc5a5e
Karl Wette octave: update support to Octave version 3.8.0
Conflicts:

	CHANGES.current
78f9296
@wsfulton wsfulton Fix PHP compilation error in ZTS mode (64 bit windows) due to TSRMLS_…
…FETCH() expansion

Conflicts:

	CHANGES.current
c569210
Geert Janssens Guile: make scm to string conversion work with non-ascii strings 36f5117
Geert Janssens Guile: illustrate bug in non-ascii string handling e2ff217
@wsfulton wsfulton mkdist script tweaks to support releasing from any named branch 7f8cb93
@wsfulton wsfulton Temporary workaround for bug in Travis build environment 3cd7055
@wsfulton wsfulton Turn on Travis testing for maintenance-2.0 branch 3c5de34
Commits on Feb 09, 2014
@kkaempf kkaempf Make string encoding explitic
Ruby 2.0 enforces explicit string encodings. The char_constant
testcase fails because the internal (SWIG_FromCharPtrAndSize, using
rb_str_new) defaults to ASCII-8BIT while the test-suite file defaults
to the current shell LOCALE setting.

This patch sets the char_constant_runme.rb encoding to ASCII-8BIT.
885a700
@wsfulton wsfulton Add release summary for 2.0.12 08639f7
William Fulton Release scripts to release from any branch 1c42135
Commits on Feb 15, 2014
@hfalcic hfalcic Fix shadow instance creation failure in Python 3
I managed to trace a very nasty Python interpreter segfault to an
allocation failure here. Adding this after the tp_new call:
if (PyErr_Occurred()) {
    PyErr_Print();
}

results in output of 'TypeError: object() takes no parameters', followed
by a segfault that takes down the Python interpeter.

The 'object' constructor doesn't seem to be suitable for instantiating
SWIG shadow instances in this way, so simply use the constructor
function in the PyTypeObject 'tp_new' slot of data->newargs.

The 'if (inst)' check after this doesn't hurt in as much as it prevented
a segfault immediately after this failed allocation, but it doesn't help
much since the null pointer dereference will probably happen sooner or
later anyway.
c063bb8
Commits on Feb 16, 2014
@wsfulton wsfulton Errors tests more visibly show failures as the output of diff
diff -u would be better, but it is not posix, so diff -e is chosen as
second best choice.
60501fe
@wsfulton wsfulton C# examples to use debug flags when using mono interpreter 0e4f2da
@wsfulton wsfulton Travis testing of Python 3.3 added d73513c
@wsfulton wsfulton Fix typo in .travis.yml 53a3d12
@wsfulton wsfulton Executable bits and shebang fixes b170788
@wsfulton wsfulton Fix configure for binary specified by --with-python3 a161e5a
@wsfulton wsfulton Merge branch 'master' of github.com:hfalcic/swig into hfalcic-python3…
…-seg-fault

* 'master' of github.com:hfalcic/swig:
  Fix shadow instance creation failure in Python 3
fb7eb2b
@wsfulton wsfulton C++ exception (wrapped by a Python exception as a shadow instance) se…
…gfaulting Python

Patch #137
8cdae65
@wsfulton wsfulton Python 3.3 should now work on Travis 81cc951
@wsfulton wsfulton Merge branch 'maintenance-2.0'
Merge using 'ours' strategy.
0d63e5d
@wsfulton wsfulton Add release summary for 2.0.12 c7187c6
@wsfulton wsfulton 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.
d7f91bc
Commits on Feb 17, 2014
@ojwb ojwb Only call strlen(lc_fname) if we are going to use the result 052d005
@ojwb ojwb Just call strcmp() rather than strlen() twice plus zend_binary_strcmp() 7af8b13
@ojwb ojwb "if (strlen(msg))" -> "if (msg[0])" b761131
@ojwb ojwb Whitespace tweaks fcf8180
@ojwb ojwb fix typo fcda732
Commits on Feb 18, 2014
@wsfulton wsfulton Fix %$ismember %rename predicate for members added via %extend
Bug reported was incorrect renaming of PHP built-in functions, such as
next. See PHPFN in phpkw.swg.

Add some tests for the %rename predicates.
9cbd742
Geert Janssens guile std_string test: run test in utf8 locale
Guile can't properly handle non-ascii strings in the default C locale
43c8f23
@wsfulton wsfulton Add %$isextendmember for %rename of members added via %extend c5911cc
@wsfulton wsfulton Merge branch 'master' of github.com:gjanssens/swig into gjanssens-master
* 'master' of github.com:gjanssens/swig:
  guile std_string test: run test in utf8 locale
  fix typo
83bc80e
Commits on Feb 19, 2014
@ojwb ojwb Fix comment typos f8a0285
@ojwb ojwb Make PHP %keywordwarn message wording consistent with other languages 36c22b7
@ojwb ojwb [PHP] Update the lists of PHP keywords with new ones from PHP 5.4
and newer (and some missing ones from 5.3).  Reserved PHP constants
names are now checked against enum values and constants, instead
of against function and method names.  Built-in PHP function names
no longer match methods added by %extend.  Functions and methods
named '__sleep', '__wakeup', 'not', 'parent', or 'virtual' are no
longer needlessly renamed.
06e5a5f
@ojwb ojwb Fix incorrect patch number 1aa6220
@ojwb ojwb Rename "struct Global" to "struct Global_" to avoid PHP keyword ae14ad0
@ojwb ojwb Add expected functions which get generated to silence testsuite warning 6d08992
@ojwb ojwb Remove incorrect comments 7df6c83
@ojwb ojwb -Wallkw now includes keywords for all languages with keyword
warnings (previously Go and R were missing).
5b95727
@ojwb ojwb Extend php_namewarn_rename to act as a regression test for the warnin…
…g about built-in function names used in %extend
9146164
@ojwb ojwb Make Lib/ocaml/swigp4.ml a non-generated file.
We used to have configure substitute values into it, but that's not been
the case for just over 3 years, since patch #3151788 was applied.
dcf121f
@ojwb ojwb [Lua] Add keyword warnings for Lua keywords and Basic Functions. 1097fc9
@ojwb ojwb Improve ignore pattern for vim swap files to not match SWIG *.swg files 66b22e6
@cdunham cdunham Remove register storage class declarations
They're unnecessary, anacronistic, deprecated in modern
standards, generally ignored, useless, and (most importantly)
clang complains about them.
fe91d64
@ojwb ojwb Merge pull request #140 from cdunham/master
Remove register storage class declarations
bdb45ca
Commits on Feb 20, 2014
@ojwb ojwb Recommend compiling with PIC consistently.
While shared objects with non-PIC code work on some architectures
(notably x86), unless code is always PIC on that arch (not true for x86)
doing so requires runtime relocations, which prevents the object
actually being shared, and means such segments can't be marked as
read-only.
de7ed84
@ojwb ojwb Improve Examples/README c5bc0aa
Commits on Feb 21, 2014
@wsfulton wsfulton Fix warning suppression using %warnfilter for PHP reserved class names.
The features need to be merged in before issuing a warning as
%warnfilter is a %feature.
d55692c
@wsfulton wsfulton Move some header file includes into fragments for UTL languages 0d9a872
@wsfulton wsfulton Remove duplicate header includes in director.swg ae7b34c
@ptomulik ptomulik added example with %pythonbegin
This was requested in PR #7 but overlooked. Contains an example where
one does: from __future__ import absolute_import using %pythonbegin
directive.
0ed98c0
@wsfulton wsfulton Merge branch 'master' into travis-osx
* master:
  added example with %pythonbegin
  Remove duplicate header includes in director.swg
  Move some header file includes into fragments for UTL languages
  Fix warning suppression using %warnfilter for PHP reserved class names.
  Improve Examples/README
  Recommend compiling with PIC consistently.
  Remove register storage class declarations
  Improve ignore pattern for vim swap files to not match SWIG *.swg files
  [Lua] Add keyword warnings for Lua keywords and Basic Functions.
  Make Lib/ocaml/swigp4.ml a non-generated file.
  Extend php_namewarn_rename to act as a regression test for the warning about built-in function names used in %extend
  -Wallkw now includes keywords for all languages with keyword warnings (previously Go and R were missing).
  Remove incorrect comments
  Add expected functions which get generated to silence testsuite warning
  Rename "struct Global" to "struct Global_" to avoid PHP keyword
  Fix incorrect patch number
  [PHP] Update the lists of PHP keywords with new ones from PHP 5.4 and newer (and some missing ones from 5.3).  Reserved PHP constants names are now checked against enum values and constants, instead of against function and method names.  Built-in PHP function names no longer match methods added by %extend.  Functions and methods named '__sleep', '__wakeup', 'not', 'parent', or 'virtual' are no longer needlessly renamed.
  Make PHP %keywordwarn message wording consistent with other languages
  Fix comment typos
  Add %$isextendmember for %rename of members added via %extend
  guile std_string test: run test in utf8 locale
  Fix %$ismember %rename predicate for members added via %extend
  fix typo
  Whitespace tweaks
  "if (strlen(msg))" -> "if (msg[0])"
  Just call strcmp() rather than strlen() twice plus zend_binary_strcmp()
  Only call strlen(lc_fname) if we are going to use the result
  CHANGES files corrections since 2.0.12 release
  Add release summary for 2.0.12
  Python 3.3 should now work on Travis
  C++ exception (wrapped by a Python exception as a shadow instance) segfaulting Python
  Fix configure for binary specified by --with-python3
  Executable bits and shebang fixes
  Fix typo in .travis.yml
  Travis testing of Python 3.3 added
  C# examples to use debug flags when using mono interpreter
  Errors tests more visibly show failures as the output of diff
  Fix shadow instance creation failure in Python 3
  Release scripts to release from any branch
  Add release summary for 2.0.12
  Make string encoding explitic
  Turn on Travis testing for maintenance-2.0 branch
  Temporary workaround for bug in Travis build environment
  mkdist script tweaks to support releasing from any named branch
  Guile: illustrate bug in non-ascii string handling
  Guile: make scm to string conversion work with non-ascii strings
  Fix PHP compilation error in ZTS mode (64 bit windows) due to TSRMLS_FETCH() expansion
  octave: update support to Octave version 3.8.0
  C++11 support for new versions of erase and insert in the STL containers.
  Fix unused variable warning in Ruby wrappers when using gcc -Wall
  Fix Visual Studio compile error in C++ wrappers due to #include <exception> within extern "C" block.
  Add missing #include <stddef.h> for offsetof when using -builtin.
  fix "long long" tests for perl v5.6
  Add change note for missing Lua return statements
  Bump version to 2.0.12
  Lua: Fix void return for non-void functions

Conflicts:
	.travis.yml
d246af3