Commit graph

30 commits

Author SHA1 Message Date
William S Fulton
ed333b6b97 std::string throws typemaps
Go, Guile, Racket, Scilab: Add throws typemaps for std::string so that
thrown string exception messages can be seen.

Test all language for std::string throws typemaps
2022-09-19 09:09:29 +01:00
William S Fulton
4a29229bab Add catches_strings test to test throws char * typemap 2022-09-19 09:09:29 +01:00
William S Fulton
e97181ebc0 Add missing typecheck typemaps for std::auto_ptr and std::unique_ptr
To fix overloading when using these types.
2022-09-17 10:23:51 +01:00
William S Fulton
dad7c93ca0 Provide SWIGTYPE MOVE typemaps in swigmove.i
For implementing full move semantics when passing parameters by value.
Based on SWIGTYPE && and std::unique_ptr typemaps which implement move
semantics.

Added for all languages, but untested for: Go, Ocaml, R, Scilab (and
unlikely to be fully functional for same reasons as for std::unique_ptr
support).

Issue #999
2022-09-16 08:36:25 +01:00
William S Fulton
2212af3f4f rvalue reference outputs
Document rvalue reference outputs behaviour
Test rvalue reference outputs
2022-09-08 08:46:32 +01:00
William S Fulton
7934561874 Test/fixes to handle NULL pointer for unique_ptr/auto_ptr
Also add missing unique_ptr tests for Lua and Racket.
2022-08-31 19:42:55 +01:00
William S Fulton
2cfd77b1c0 Racket - NULL pointer handling
SWIG now converts a C/C++ NULL pointer into a null value by calling
scheme_make_null(), so that scheme's null? is true for a NULL C/C++
pointer value.

Consistency with Guile and needed for a pending commit for handling
NULL and std::unique_ptr.
2022-08-31 19:40:13 +01:00
William S Fulton
e139a36511 SWIGTYPE && input typemaps now assume object has been moved
Replicated Java implementation.

Fully implemented for:
- C#
- D
- Guile
- Javascript (UTL)
- Lua
- MzScheme
- Octave (UTL)
- Perl (UTL)
- PHP
- Python (UTL)
- Ruby (UTL)
- Tcl (UTL)

PHP std::auto_ptr std::unique_ptr minor tweaks and testcase corrections
2022-08-31 19:40:14 +01:00
William S Fulton
5365149ae4 Guile testing
- call gc instead of explicitly calling the destructor
- Guile li_std_auto_ptr testcase tweaks intended for use from Racket
2022-08-18 22:45:03 +01:00
William S Fulton
63143e8773 Guile testing - call gc instead of explicitly calling the destructor 2022-08-18 21:42:25 +01:00
William S Fulton
5b16e4fbd3 Guile cpp11_std_unique_ptr testcase tweaks for use from Racket 2022-08-18 21:31:20 +01:00
William S Fulton
c9f5a85e45 Add Racket test for %newobject
Uses common mzscheme test, but corrections for Racket error:

if: bad syntax (must have an "else" expression)
2022-08-17 08:16:47 +01:00
William S Fulton
748bad3db2 Add guile test for %newobject 2022-08-15 19:56:31 +01:00
William S Fulton
23ce0655a6 Add Guile support for std::unique_ptr and std::auto_ptr
Equivalent to Python/Ruby implementations.
2022-08-12 23:50:54 +01:00
Olly Betts
5f38f9cc78 [Chicken] Remove code for Chicken
We dropped support for it in SWIG 4.0.0 and nobody has stepped forward
to revive it in over 2 years.

See #2009.
2021-05-16 08:42:39 +12:00
Chris Hogan
63b689d7cd Run garbage collection in test for guile >= 2.0.12 2018-08-22 08:39:50 -05:00
William S Fulton
155e31626c Duplicate tests that are run twice as both C and C++ tests to fix parallel make: overload_extend 2016-02-21 19:24:11 +00:00
Geert Janssens
a54674eeca Guile: illustrate bug in non-ascii string handling 2014-02-05 12:17:05 +01:00
Geert Janssens
0cf116128b Skip unsigned (long) long integer tests on OS X with guile 1.8 2013-12-14 23:36:35 +00:00
Geert Janssens
3e0247e553 guile: fix integer test on 64 bit systems 2013-04-28 22:06:27 +02:00
Matthias Köppe
b63f275984 [MzScheme] Typemaps for all integral types now accept the full range
of integral values, and they signal an error when a value outside the
valid range is passed.

[Guile] Typemaps for all integral types now signal an error when a
value outside the valid range is passed.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8844 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-02-19 19:28:42 +00:00
Matthias Köppe
ca7f3bf836 New test case integers.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8815 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-02-14 18:25:16 +00:00
Matthias Köppe
81dafd9078 Fix test case.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8633 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-30 19:03:09 +00:00
John Lenz
036c081066 Chicken: multiple_inheritance test now passes, and we correctly handle %ignored classes
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7683 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-10-19 06:27:56 +00:00
John Lenz
d5974f3e1e SWIG chicken module now returns multiple values instead of returning a list.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7156 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-04-15 22:38:09 +00:00
John Lenz
b599732cdc Add a whole bunch of chicken runme scripts, and fix the bugs exposed by those scripts
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7155 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-04-15 05:23:14 +00:00
John Lenz
897e5ad40d Lots more bug fixes for the chicken module: almost the entire test-sutie now runs
The only tests that are failing are ones that depend on std_vector.i and similar


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7079 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-03-17 07:28:19 +00:00
John Lenz
6bcccbe455 Fix a few more chicken bugs
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7075 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-03-16 06:51:03 +00:00
John Lenz
c477876252 Update overload_extend runme script to work properly
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6654 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-11-04 02:20:04 +00:00
John Lenz
60f4c8988e The guile and chicken _runme scripts are now shared
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5979 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-06-07 05:03:39 +00:00