swig/Source/Modules
Vadim Zeitlin fd3e763656 Streamline and fix returning objects by value
Remove the code related to "_result_ref" which was confusing and plain
wrong, as it generated something that compiled but crashed during
run-time due to the use of a pointer to an already destroyed stack
object.

Instead, correct the "out" typemap to create a new copy of the object,
which mostly works fine on its own, except that it depends on using
SwigValueWrapper if necessary, so add the call to cplus_value_type()
does this. This also required removing the code resolving typedefs in
the "type" attribute because it confused the base class logic and still
needs an explicit cast to the actual return type due to the use of (and
probable bug in) get_wrapper_func_return_type().

These changes mean that "cppouttype" typemap is not used any longer, so
remove it too.

A couple more tests pass now.
2019-08-06 02:35:25 +02:00
..
allegrocl.cxx Misc. documentation and source comment typo fixes 2019-05-28 11:41:22 +12:00
allocate.cxx Misc. typos 2018-05-17 10:04:23 -04:00
browser.cxx Add lambda functions to the symbol tables and add ability to suppress lambda warnings. 2013-02-04 20:05:34 +00:00
c.cxx Streamline and fix returning objects by value 2019-08-06 02:35:25 +02:00
cffi.cxx Add support for "ret" typemap where missing and improve documentation on it. 2016-09-29 08:07:26 +01:00
chicken.cxx Misc. documentation and source comment typo fixes 2019-05-28 11:41:22 +12:00
clisp.cxx Fix assertion for some languages when wrapping a C++11 enum class that is private in a class. 2016-03-31 20:27:36 +01:00
contract.cxx Cosmetics/code beautification of nested class support 2013-11-29 07:29:58 +00:00
csharp.cxx Fix class name for nested classes 2019-07-08 12:49:00 +02:00
d.cxx Add the parameters typemap attribute to D and Java destructor wrapper typemaps 2019-04-08 19:20:50 +01:00
directors.cxx Generation of director method declarations fixes 2017-10-23 18:55:14 +01:00
emit.cxx Fix Python compile errors with overloading and varargs 2019-02-25 19:27:23 +00:00
go.cxx Fix Go tests to run in module mode 2019-04-24 21:43:38 -07:00
guile.cxx Prevent redefinition warnings when compiling with SWIG<module> defined 2015-12-22 14:33:21 +02:00
interface.cxx Fix seg fault with %interface and using declarations 2017-08-21 18:34:51 +01:00
java.cxx Fix class name for nested classes 2019-06-27 15:39:37 +02:00
javascript.cxx follow-up typos 2018-05-17 10:26:00 -04:00
lang.cxx Warning tweaks for destructors that are final in director classes 2019-03-03 15:12:29 +00:00
lua.cxx follow-up typos 2018-05-17 10:26:00 -04:00
main.cxx Fix command line error handling to work like in 3.0.12 2019-04-25 23:13:51 +01:00
modula3.cxx Misc. typos 2018-05-17 10:04:23 -04:00
mzscheme.cxx $arg and $input were incorrectly substituted in the argout typemap 2019-06-28 08:09:47 +01:00
nested.cxx Fix segmentation fault when top==NULL 2015-02-26 14:57:19 +13:00
ocaml.cxx $arg and $input were incorrectly substituted in the argout typemap 2019-06-28 08:09:47 +01:00
octave.cxx Harmonize parameters in autodoc in Ruby and Octave with Python 2019-01-21 01:08:45 +01:00
overload.cxx Python fastdispatch error message improvements 2018-08-10 08:14:19 +01:00
perl5.cxx Consistent use of target language version of options 2019-02-05 19:18:46 +00:00
php.cxx Don't add a closing php-tag 2019-05-22 11:35:08 +12:00
pike.cxx Fix GCC 7 warnings 2016-12-21 13:05:20 +13:00
python.cxx Make Python module source non-executable again 2019-07-24 20:10:35 +02:00
r.cxx Remove unused code in r.cxx 2019-03-18 17:40:52 +00:00
README File move 2002-12-03 20:33:35 +00:00
ruby.cxx Harmonize parameters in autodoc in Ruby and Octave with Python 2019-01-21 01:08:45 +01:00
s-exp.cxx Remove cvs/svn Id strings 2013-01-12 01:21:16 +00:00
scilab.cxx Misc. documentation and source comment typo fixes 2019-05-28 11:41:22 +12:00
swigmain.cxx Merge branch 'master' into C 2019-07-24 20:26:50 +02:00
swigmod.h Fix Python compile errors with overloading and varargs 2019-02-25 19:27:23 +00:00
tcl8.cxx Consistent use of target language version of options 2019-02-05 19:18:46 +00:00
typepass.cxx Merge branch 'templates-scope-enforcement' 2017-08-16 21:44:51 +01:00
uffi.cxx Seg fault fix running uffi tests 2018-01-14 13:27:01 +00:00
utils.cxx Fix various comment and documentation typos 2017-08-13 18:04:33 +12:00
xml.cxx Update xml.cxx to return typenames (#777) 2016-09-27 15:15:47 +13:00

06/25/2002

This directory contains all of the SWIG language modules.  Many of these
modules contain code that dates back to SWIG1.0.  The module API has changed
a lot in the development releases so this is fairly messy.  We're working on
cleaning it up, but you'll have to bear with us until it's done.

-- Dave