Commit graph

1,944 commits

Author SHA1 Message Date
Karl Wette
e66827be7d
Merge branch 'master' into octave 2018-05-17 14:08:29 +10:00
William S Fulton
fecc4f246e Add changes entry for csconstruct, dconstruct and javaconstruct fix 2018-05-15 22:39:48 +01:00
William S Fulton
2171f52635 Javascript %nspace fix in generated C++ code
When using %nspace on namespaces that are more than two levels deep.
Fixes cpp17_nspace_nested_namespaces testcase.
2018-05-15 22:22:10 +01:00
William S Fulton
192aa2892c Add changes notes for C++17 nested namespaces support 2018-05-14 21:29:40 +01:00
Karl Wette
23e6f13292 Update CHANGES.current 2018-05-12 22:31:31 +10:00
William S Fulton
ee17f8d04f C#, D, Java methodmodifiers on destructors
Add support so that the %csmethodmodifiers, %dmethodmodifiers,
%javamethodmodifiers can modify the method modifiers for the destructor wrappers
in the proxy class: dispose, Dispose, delete. With this feature, it is now possible
to make a C# proxy class sealed, eg when wrapping a class X, the virtual method modifiers
can be removed using:

  %typemap(csclassmodifiers) X "public sealed class"
  %csmethodmodifiers X::~X "public /*virtual*/";
2018-05-11 18:09:51 +01:00
Olly Betts
2ab3f4d744 [Python] Suppress new pycodestyle warning
E252 missing whitespace around parameter equals
2018-04-19 08:41:25 +12:00
William S Fulton
15a09ffbdc Add changes entry for Ruby %alias fix for global functions 2018-04-07 12:34:39 +01:00
Olly Betts
3bea8f6b7e [Ruby] Pass Qnil instead of NULL to rb_funcall()
This silences GCC -Wconversion-null warning (on by default with recent
GCC).
2018-04-03 18:01:58 +12:00
Olly Betts
5f5ab92d5e Fix typo 2018-04-03 17:44:51 +12:00
William S Fulton
b4f4ce4fd5 Fix Java swigReleaseOwnership() and swigTakeOwnership() regression
Fixes segfault when using non-director classes.
Restores a dynamic_cast which was previously removed.
The dynamic_cast is not needed for the swig_connect_director call ...
we'll have to find another solution for #449 for Java.

Closes #1184
2018-03-09 08:13:41 +00:00
Olly Betts
538ce62775 Add CHANGES.current entry for previous fix 2018-03-07 14:50:42 +13:00
William S Fulton
e435f3b93b Document command-line options file support in changes file 2018-02-18 21:12:10 +00:00
William S Fulton
7fbdd21b49 Javascript - Fix compilation error wrapping std::complex via std_complex.i
Closes #1187
2018-02-11 11:12:24 +00:00
Simon Marchetto
862501480e add type name argument in SWIG_ptr() function to cast from pointer adress to typed pointers 2018-01-30 16:34:31 +01:00
William S Fulton
72964a1faf Don't accept some invalid preprocessor code
Whitespace or non-numeric characters are required after a preprocessor
directive that requires an expression.
2018-01-16 08:07:37 +00:00
William S Fulton
ea5b55ecf4 Fix floating point division by zero in preprocessor expressions.
Closes #1183
2018-01-15 07:51:18 +00:00
William S Fulton
07a30249f4 Fix seg fault parsing invalid exponents
Add error message when exponents are incomplete,
for example 5e and 5.e
2018-01-14 19:36:09 +00:00
William S Fulton
368cd3b52c Add ToArray test for C# std::vector wrapper 2018-01-12 18:26:47 +00:00
William S Fulton
49af1907b8 Add missing Java throws clause for interfaces when using the %interface family of macros.
Fixes #1156.
2018-01-12 07:34:32 +00:00
William S Fulton
6607acdf3a Merge branch 'davedissian-redundant-typedef-fix'
* davedissian-redundant-typedef-fix:
  Add more runtime typedef_classforward_same_name runtime testing
  Fixed 'typedef class Foo Foo;' edge case by iterating through linked list.
  Added test case for a forward declaration in a typedef with the same name
2018-01-06 15:27:52 +00:00
William S Fulton
ef378407d0 Fix parsing of default argument expressions containing ->. 2018-01-05 07:58:25 +00:00
William S Fulton
aff36823df Complete switch from pep8 to pycodestyle for Python testing 2017-12-31 16:19:39 +00:00
David Avedissian
3617e22fda Fixed 'typedef class Foo Foo;' edge case by iterating through linked
list.

Suggested fix by wsfulton
2017-12-31 00:37:43 +00:00
William S Fulton
717b7866d4 Perl - Add support for missing directorfree typemaps
Related to issue #1167, to free up memory when returning reference types.
SWIG_Perl_AcquirePtr still needs implementing.
2017-12-14 07:51:45 +00:00
William S Fulton
e86c881a70 Fix directorout typemaps which were causing undefined behaviour when returning pointers by reference.
Closes #1167
2017-12-14 07:00:42 +00:00
Olly Betts
224bb9e023 [PHP] Use ZEND_MODULE_GLOBALS_ACCESSOR to access globals
This should make the generated code work with PHP 7.2.0.
2017-12-08 15:50:14 +13:00
William S Fulton
b0e29fbdf3 Add missing checks for failures in calls to PyUnicode_AsUTF8String.
Previously a seg fault could occur when passing invalid UTF8 strings (low
surrogates), eg passing u"\udcff" to the C layer (Python 3).
2017-12-04 20:14:04 +00:00
William S Fulton
069ce1f6e9 Merge branch 'java-director-exceptions'
* java-director-exceptions:
  Add recent Java director enhancements to the changes file
  Replace DirectorException::raiseJavaException with DirectorException::throwException
  Improve Java director exception customization documentation
  Add Swig::DirectorException directorthrows typemap for Java
  Cosmetic whitespace improvement in generated code from throws typemaps.
  Tidy up director_exception testcase
  Changes to use common DirectorException class
  Improved Java director exceptions documentation
  Java director exception handling improvements
2017-11-29 20:32:40 +00:00
William S Fulton
bf21e80267 Add recent Java director enhancements to the changes file 2017-11-29 20:32:15 +00:00
Joseph C Wang
0b97170f1d fix #1124 - return R_NilValue for null pointer objects
This fixes #1124 and returns R_NilValue for null pointer objects
2017-11-24 23:43:02 +08:00
William S Fulton
65020645aa Document recent shared_ptr and director updates 2017-10-26 07:46:46 +01:00
Joseph C Wang
be05daa39a change r to allow logical enums. add change to CHANGES.current 2017-10-10 17:50:58 +08:00
Olly Betts
0ca47dd7cc CHANGES.current entry and regression test for previous commit 2017-10-09 11:09:58 +13:00
Olly Betts
5a9422d980 Remove GCJ support
GCC7 dropped GCJ.

Closes https://sourceforge.net/p/swig/bugs/823/
2017-10-09 08:32:01 +13:00
Olly Betts
55ca36a016 Add CHANGES.current entry 2017-10-08 09:02:29 +13:00
William S Fulton
4a7976a5d8 Fix platorm inconsistency in Python default argument handling.
32 bit and 64 bit compiled versions of SWIG generated different Python files
when default arguments were outside the range of 32 bit signed integers.
The default arguments specified in Python are now only those that are in the
range of a 32 bit signed integer, otherwise the default is obtained from C/C++ code.

Closes #1108
2017-10-06 21:57:04 +01:00
William S Fulton
11a658db79 Correct changes file entries 2017-10-02 19:10:18 +01:00
William S Fulton
a55981b883 Fix C# std::complex pass by value typemaps 2017-10-02 19:07:24 +01:00
William S Fulton
e01cfd70c7 Add missing declaration for std::complex
Fixes missing type information for std::complex in scripting languages.
Closes #732.

Update Javascript and Octave complextest, although they don't actually
get run as they don't work
2017-10-02 19:07:24 +01:00
Joseph C Wang
004a845a27 add changes to current 2017-10-01 09:53:13 +08:00
William S Fulton
e27a606335 Allow an instantiated template to have the same name as the C++ template name
For example, this is now possible:
  template<typename T> struct X { ... };
  %template(X) X<int>;
Closes #1100.
2017-09-29 23:28:04 +01:00
William S Fulton
c4509be3cb Add some changes file notes on known incompatibilities for %template fixes.
See issue #1093.
2017-09-26 08:02:42 +01:00
William S Fulton
ed4b84f4d3 Fix overloading of shared_ptr method overloading
Add 'equivalent' attribute to typecheck typemap.
Closes #1098.
2017-09-23 15:19:34 +01:00
William S Fulton
836a57190e Fix --with-2to3 configure option 2017-09-19 18:48:34 +01:00
William S Fulton
9e2a12416c Fix type promotion wrapping some non-trivial constant expressions
This was previously an integral type instead of a floating point type:
2017-09-18 07:06:27 +01:00
William S Fulton
90ba174fce Fix generated code for constant expressions containing wchar_t L literals.
Such as:
  # define __WCHAR_MAX    (0x7fffffff + L'\0')

Reported on swig-user mailing list.
2017-09-17 19:02:55 +01:00
William S Fulton
4d2d8dd80e Merge branch 'cpp11-ref-qualifiers'
* cpp11-ref-qualifiers:
  Warnings in testcases fix
  Add support for %typemap and member function pointers with qualifiers
  Fix wrapping of some member function pointer parameters
  Add support for member function pointers with ref-qualifiers
  Add error for constructors, destructors, static methods declared with qualifiers
  Add support for conversion operators with ref-qualifiers
  Alternate function syntax parsing improvement
  Re-organise parser grammar for initializer rules
  Re-organise parser grammar for declarator and initializer rules
  Add docs for C++11 ref-qualifiers
  Add unignore for rvalue ref-qualifiers
  Improve ref-qualifier implementation
  Fix support for member const function pointer variables
  Use normal SWIG encodings for ref-qualifiers
  C++11 ref-qualifier support added
2017-09-11 19:33:27 +01:00
William S Fulton
0646db73c3 Add _DEBUG set to 1 change into changes files 2017-09-10 17:20:35 +01:00
William S Fulton
330ef362f4 Add docs for C++11 ref-qualifiers 2017-08-30 18:17:04 +01:00