Commit graph

55 commits

Author SHA1 Message Date
Leif Middelschulte
b25f28938b Reuse 'ctype' typemap to cast wrapper calls. Reduces number of typemaps for the cost of unnecessary casts (e.g. 'int' to 'int').
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-c@13640 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-08-17 17:22:06 +00:00
Leif Middelschulte
3b6e37bdf8 Workaround issue with swig casting to wrong (not const) type in wrapper's C++ function call, by setting variables to non const.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-c@13626 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-08-16 12:48:00 +00:00
Leif Middelschulte
554a3f9e01 Remove copy and pasta (unsigned float and unsigned double typemaps).
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-c@13625 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-08-16 12:47:49 +00:00
Leif Middelschulte
f013b9d044 Add explicit types for 'ctype' typemap because swig does not resolve e.g. std::vector<int>::value_type to 'int' with the $1_ltype approach.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-c@13624 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-08-16 12:47:39 +00:00
Leif Middelschulte
9cd39cca50 Fix typemaps of char* and equivalents to be explicit about the resolved type.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-c@13623 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-08-16 12:47:27 +00:00
Leif Middelschulte
0d472a6cb7 Add constant pointers to 'out' typemap.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-c@13617 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-08-15 19:57:11 +00:00
Leif Middelschulte
7e673e7334 Add constant pointers to 'proxycouttype' typemap
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-c@13616 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-08-15 19:56:53 +00:00
Leif Middelschulte
2d18d31bcc Add constant pointers to 'cppouttype' typemaps
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-c@13615 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-08-15 19:56:33 +00:00
Leif Middelschulte
971e501546 add const pointers to 'couttype' typemap
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-c@13614 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-08-15 19:56:19 +00:00
Leif Middelschulte
b70b752883 Add constant pointers to 'in' typemap
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-c@13613 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-08-15 19:56:03 +00:00
Leif Middelschulte
41b3fcc1b6 Add constant pointers to 'ctype' typemap
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-c@13612 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-08-15 19:55:49 +00:00
Leif Middelschulte
1440b43690 Add constant pointers to 'proxy' typemap
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-c@13611 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-08-15 19:55:36 +00:00
Leif Middelschulte
a540f7199f Refactor 'cppouttype' to be split by type
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-c@13610 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-08-15 19:55:22 +00:00
Leif Middelschulte
dddc13377a Move to appropriate segment
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-c@13609 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-08-15 19:55:06 +00:00
Leif Middelschulte
88ffd102f3 Remove template specific typemaps. Leftover from the change to C# like template handling.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-c@13605 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-08-13 16:22:30 +00:00
Leif Middelschulte
f50b903d64 Add wrapper typemap for "int *const &"
Fix proxy type of complex type (SWIGTYPE) references.

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-c@13604 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-08-13 16:22:02 +00:00
Leif Middelschulte
9619d7c618 Remove wrong typemap.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-c@13579 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-08-09 20:03:06 +00:00
Leif Middelschulte
333a842277 Type lookup of $1_ltype fails for templates, so use types directly. Add size_t as type.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-c@13578 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-08-09 20:02:47 +00:00
Leif Middelschulte
d6641336f8 Initial work for templates. Mostly adopted from C#.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-c@13552 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-08-07 20:18:21 +00:00
Leif Middelschulte
0e75ebbc34 Update to reflect changes (additional typemaps) in the C backend.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-c@13481 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-08-01 12:52:17 +00:00
Leif Middelschulte
42681bd01d Fix unnecessary/wrong casts within proxy->wrapper call
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-c@13431 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-07-30 10:47:37 +00:00
Leif Middelschulte
70800398b1 Fix enum pointer typemaps
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-c@13311 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-07-09 23:29:11 +00:00
Leif Middelschulte
884286678a Fix fptr cast of wrapper parameter within proxy function
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-c@13258 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-07-05 00:22:59 +00:00
Leif Middelschulte
ae50f84237 Repair object references in proxy functions
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-c@13257 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-07-05 00:22:44 +00:00
Leif Middelschulte
95ddf1174d Repair typemap for proxy function params.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-c@13187 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-06-19 17:18:52 +00:00
Leif Middelschulte
f1ec1a26a7 Use seperate typemaps for wrapper and proxy.Refactor bits.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-c@13167 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-06-16 18:57:27 +00:00
Leif Middelschulte
1dddb18b4c Fix return type assignment
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-c@13134 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-05-28 22:56:37 +00:00
Leif Middelschulte
e08563189f Fix missing braces in assignment-as-condition
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-c@13104 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-05-22 17:15:22 +00:00
Maciej Drwal
32e03aa13d Many major improvements. Almost all testsuite compiles now.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2008-maciekd@11189 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-04-15 23:30:16 +00:00
Maciej Drwal
a2dc2756c8 Several major fixes for: arrays, static members, member func.ptrs., exceptions, ... Lots of tests runs ok now.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2008-maciekd@11188 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-04-13 21:23:07 +00:00
Maciej Drwal
da5ade3143 Refactored enums handling
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2008-maciekd@11186 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-04-11 10:46:13 +00:00
Maciej Drwal
8c04b766d4 Fix for warning on return by value. Fix for std_string.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2008-maciekd@11184 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-04-08 20:32:30 +00:00
Maciej Drwal
5002c69cd6 Fixed some issues with member variables handling
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2008-maciekd@11155 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-03-18 15:04:20 +00:00
Maciej Drwal
4acb01b741 Fix for returning objects.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2008-maciekd@11109 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-02-04 16:10:07 +00:00
Maciej Drwal
40fd778b23 1. char_strings runtime test
2. next chapters of HTML doc
3. minor bugfixes


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2008-maciekd@10796 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-08-24 12:39:30 +00:00
Maciej Drwal
54860c9595 1. Fixed the bug in enums. Now 'enums' test is compiling OK.
2. -noexcept flag disables generating exception-related code (like array of type names in SwigObj, object registry, etc.). This can be used when we are sure we won't handle exceptions on the C side, and this will generate much less code. 
3. Modified typemaps for object arrays. Multidimensional ones still needs some fixing.
4. Added 'enums' and 'cast_operator' runtime tests.

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2008-maciekd@10771 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-08-17 13:42:19 +00:00
Maciej Drwal
ea556b565d Some function return cases fixed.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2008-maciekd@10748 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-08-09 20:14:41 +00:00
Maciej Drwal
dcec3c3fb0 Added std_string support. Renamed SWIG_exception to SWIG_exc to avoid name collision with macro in Lib/exception.i.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2008-maciekd@10720 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-07-30 22:09:02 +00:00
Maciej Drwal
7e23a5a55e Removing some memory leak problems when handling exceptions.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2008-maciekd@10713 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-07-26 14:18:37 +00:00
Maciej Drwal
96a52c763c Now constructors use SWIG_create_object() function, which fills type information for SwigObj struct. 'out' typemaps for objects and 'throws' typemaps also use this.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2008-maciekd@10696 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-07-21 18:22:43 +00:00
Maciej Drwal
6fd77fa609 Renaming and type mangling fixes. Reverted to normal typemaps searching.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2008-maciekd@10694 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-07-21 15:52:30 +00:00
Maciej Drwal
9c5ef7558c Support for enums and typedefs.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2008-maciekd@10691 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-07-21 10:55:05 +00:00
Maciej Drwal
e90a0692c7 Replaced SwigObjXXX with one type SwigObj. Added typemaps for bool.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2008-maciekd@10674 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-07-17 09:53:05 +00:00
Maciej Drwal
88facfd390 Exceptions support for C. exception_order test shows how to use type information to achieve correct catching order. Examples cleanup.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2008-maciekd@10671 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-07-17 00:52:11 +00:00
Maciej Drwal
03d275e42f Initial C++ exceptions support (still work in progress). Some typemap fixes.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2008-maciekd@10661 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-07-14 19:38:10 +00:00
Maciej Drwal
542c21b6fe Few C typemaps fixes (still using experimental approach).
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2008-maciekd@10658 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-07-11 16:12:14 +00:00
Maciej Drwal
a13c5976b5 Fixed naming convention issues (internal Swig variables, shadow -> proxy, test.c -> runme.c, etc.), modified Makefiles, bugfixes ("name" -> "sym:name"). Started C test-suite.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2008-maciekd@10655 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-07-09 20:02:20 +00:00
Maciej Drwal
f585c69d02 Some support for overloading, simplified wrapping of pure C functions, some improvements in argument passing typemaps.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2008-maciekd@10653 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-07-06 18:33:09 +00:00
Maciej Drwal
125f362852 Trying to work out the best solution for special cases of argument passing (arrays of objects, etc.). Some hacks in Swig_typemap_search() to distinguish between built-in types and objects, but this is experimental by now.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2008-maciekd@10652 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-07-05 21:29:07 +00:00
Maciej Drwal
97ffcf1da7 static member function, copy constructor, some minor fixes
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2008-maciekd@10646 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-07-03 23:26:10 +00:00