Commit graph

2,186 commits

Author SHA1 Message Date
Olly Betts
9bd1b46acc Add CHANGES entry 2021-05-04 17:45:59 +12:00
Olly Betts
9ddc9dceb7 Remove support for $source and $target
These were officially deprecated in 2001, and attempts to use them have
resulted in a warning (including a pointer to what to update them to)
for most if not all of that time.

Fixes #1984
2021-04-30 10:20:14 +12:00
William S Fulton
429288fa1c Fix Java %interface family of macros
when returning by const pointer reference

Closes #1987
2021-04-27 23:37:18 +01:00
William S Fulton
499eb5806f Update node support level is now v16 2021-04-27 21:14:51 +01:00
Olly Betts
5ec65fde0a Initialise _v to 0 in typecheck case
This avoids using _v uninitialised if there's an empty typecheck
typemap, such as the dummy one we have for std::initializer_list.

Fixes GCC warning on cpp11_initializer_list testcase when compiled
with -O2.
2021-04-19 17:42:22 +12:00
Olly Betts
1757f548a4 Make -py3 generate a check for Python >= 3.0
Closes #1777
2021-04-12 15:07:00 +12:00
Olly Betts
76c2c4675b [PHP] Update PHP keyword list
Add PHP keywords 'fn' (added in 7.4) and 'match' (added in 8.0) to the
list SWIG knows to automatically rename.
2021-03-26 08:24:40 +13:00
William S Fulton
90cdbee6a6 Python -builtin fix wrapping constructors with varargs
Fix compilation error when using -builtin and wrapping varargs in constructors

Closes #1942
2021-03-23 23:57:49 +00:00
William S Fulton
b3bc87d551 template template parameters patch tidyup
- Document change in CHANGES file
- Minor tweaks and whitespace fixes in stype.c
- Enhance testcase
- Synchronise Java and Python runt test in testcase
2021-03-22 01:08:05 +00:00
William S Fulton
c2b2e9232c Add note about Node v14 also supported 2021-03-21 19:18:05 +00:00
William S Fulton
119ad0ade5 Add some missing changes file entries 2021-03-21 19:17:52 +00:00
Olly Betts
c13bbf7a24 Fix entry date in CHANGES.current 2021-03-21 10:58:32 +13:00
Olly Betts
56d7435573 Merge branch 'php8-support'
Fixes #1929, Fixes #1978
2021-03-21 10:57:35 +13:00
Olly Betts
d18f98c24d Update CHANGES.current and RELEASENOTES re PHP8 2021-03-21 10:54:56 +13:00
William S Fulton
67cfaf5a80 Remove -ansi from default compilation flags
Closes #1610
2021-03-20 00:53:12 +00:00
William S Fulton
d8e167ad9c Changes file entry for Java long long arrays 2021-03-19 22:03:50 +00:00
Olly Betts
71475b0af9 Improve PHP object creation
Reportedly the code we were using in the directorin case gave segfaults
in PHP 7.2 and later - we've been unable to reproduce these, but the new
approach is also simpler and should be bit faster too.

Fixes #1527, #1975
2021-03-19 08:45:33 +13:00
Olly Betts
b7dedecfdd php: Fix char* typecheck typemap to accept Null
The corresponding in typemap already does.

Fixes #1655, reported by CJSlominski.
2021-03-19 08:34:15 +13:00
Olly Betts
2e7da86b2c php: Fix overloaded directed methods with non-void return
We were treating  such methods like constructors and assigning to the
internal _cPtr, which just seems bizarrely wrong.

Fixes #1900
2021-03-18 10:58:44 +13:00
William S Fulton
04b46cc8a3 Javascript type conversion support
Add testcase for previous commit.
Add missing assert for future type conversions support that will use
the heap instead of pointer casts (for smart pointer type conversions).

Closes #1963
2021-03-11 20:10:13 +00:00
William S Fulton
513ea736d3 Merge branch 'array_fix'
* array_fix:
  add javascript_arays.i fix to changes file
  Convert javascript_arrays.i example into testcase
  Update .gitignore for java doxygen output
  Javascript code formatting corrections
  Fix Javascript arrays for modern node versions
  Fix for new SWIGV8_ARRAY_NEW definition
  Proper array typemaps in Javascript
2021-03-06 11:08:58 +00:00
William S Fulton
d007f35e05 add JSC SetModule/GetModule enhancement to changes file 2021-03-06 11:07:39 +00:00
William S Fulton
0b2d5ffa6e add javascript_arays.i fix to changes file 2021-03-06 11:06:12 +00:00
William S Fulton
5c602b0dcf CMake added to changes file 2021-03-02 00:15:04 +00:00
William S Fulton
bff805dae5 Merge branch 'ignore-empty-doxygen-commands'
* ignore-empty-doxygen-commands:
  Fix incorrect warning "Unknown Doxygen command: ."
  Don't use invalid iterators in Doxygen command parsing code

Conflicts:
	CHANGES.current
2021-03-01 23:14:53 +00:00
William S Fulton
69f9509c2b Fix incorrect warning "Unknown Doxygen command: ." 2021-03-01 23:12:21 +00:00
William S Fulton
5ed74fd19b Add fix for bad constructor call crash to changes file 2021-02-28 22:05:03 +00:00
William S Fulton
00e64d7a49 Document Javascript OUTPUT typemap fix 2021-02-28 21:58:45 +00:00
William S Fulton
1d4ef62466 Node: Fix handling of large unsigned values
Closes #1269
2021-02-26 23:31:12 +00:00
William S Fulton
7ba19e7586 Document node v12 support and minimum is now v6
Code to remove support for node v0.10 upto v6 is still to be removed.
2021-02-24 22:22:36 +00:00
Zackery Spytz
c12ab1f012 Fix attribution error for Python buffers fix in CHANGES.current
[skip ci]

Closes #1940.
2021-02-01 20:41:54 +01:00
William S Fulton
638ca8152d complex can now be used as an identifier
Remove final vestiges of 'complex' keyword.

Closes #252
2020-10-10 16:07:55 +01:00
William S Fulton
8edb047785 Update changes file with complex fixes 2020-10-10 15:27:22 +01:00
William S Fulton
0034b3572e Update changes file 2020-10-07 22:42:56 +01:00
William S Fulton
b84cd9c53e Update changes file 2020-10-07 22:29:56 +01:00
William S Fulton
c1b004f4fa Add access modifier support for interface feature
Add ability to change the modifiers for the C# and Java
interface generated when using the %interface macros.

For C# use the 'csinterfacemodifiers' typemap.
For Java use the 'javainterfacemodifiers' typemap.

For example:

  %typemap(csinterfacemodifiers) X "internal interface"

Closes #1874
2020-09-25 18:54:25 +01:00
William S Fulton
c8ac73513b changes file entry for C# wchar_t csvarout fix 2020-09-24 22:39:01 +01:00
William S Fulton
b018c32f9d Fix crashes in swig_connect_director during director class construction.
Occurs when using the director class from multiple threads - a race condition
initialising block scope static variables.

Block scope static variables are guaranteed to be thread safe in C++11,
so the fix is guaranteed when using C++11. However, most modern compilers
also fix it when using C++03/C++98.

Closes #1862
2020-08-28 18:23:47 +01:00
William S Fulton
e774fe5cfd Python 3.9 support for -builtin
Add missing initializer for member ‘_heaptypeobject::ht_module’ to complete
Python 3.9 support.
2020-08-27 20:22:39 +01:00
William S Fulton
9c50887daa Python 3.9 support
Remove PyEval_InitThreads() call for Python 3.7 and later as Python calls
it automatically now. This removes a deprecation warning when using Python 3.9.

https://docs.python.org/3/c-api/init.html#c.PyEval_InitThreads
2020-08-27 19:37:26 +01:00
William S Fulton
ec2b47ef2a Remove need for Python 2to3
All Python examples and tests have been written to be both Python 2 and Python 3
compatible, removing the need for 2to3 to run the examples or test-suite.

The 2to3 executable is not always available and even when available does not
always work, e.g. with pyenv. An alternative would be to use the lib2to3 Python
module instead, but this isn't available in some older versions of Python 3.

I had this problem on Ubuntu Bionic on Travis:

  checking Examples/python/callback
  pyenv: 2to3-3.8: command not found
  The `2to3-3.8' command exists in these Python versions:
    3.8
    3.8.1

Reference issues:
  https://github.com/pypa/virtualenv/issues/1399
  https://travis-ci.community/t/2to3-command-not-found-in-venv-in-bionic/4495
2020-08-15 18:04:58 +01:00
William S Fulton
143837ddf1 Update changes file 2020-08-13 16:26:50 +01:00
William S Fulton
ce4164b66d Add director comparison operator fix to changes file 2020-06-14 23:09:11 +01:00
William S Fulton
470d1926f8 Bump version to 4.1.0 2020-06-08 20:47:47 +01:00
William S Fulton
3c007e81d6 swig-4.0.2 release notes 2020-06-07 23:03:06 +01:00
William S Fulton
a70998889b Changes file updates 2020-06-07 11:32:16 +01:00
Karl Wette
d9c94848ec octave.cxx: fix exception raising for newer Octave versions
- Since (at least) Octave 5.1.0, the Octave error() function now raises a C++
  exception, which if uncaught immediately exits a SWIG wrapper function,
  bypassing any cleanup code that may appear after a "fail:" label.
- This patch adds a "try { ... } catch(...) { }" block around the contents of
  SWIG wrapper functions to first execute the cleanup code before rethrowing any
  exception raised.
- It is backward compatible with earlier versions of Octave where error() does
  not raise an exception, which will still branch to the "fail:" block to
  execute cleanup code if an error is encountered.
2020-05-31 06:43:15 +10:00
William S Fulton
f5e1e689fc changes file update 2020-05-28 23:53:03 +01:00
Vadim Zeitlin
034a6d54ee Merge branch 'master' of https://github.com/vapier/swig
Use $PKGCONFIG instead of hard-coded pkg-config for JS test.

See https://github.com/swig/swig/pull/1796
2020-05-24 22:08:23 +02:00
William S Fulton
3a329566f8 Update changes file 2020-02-18 22:14:21 +00:00