Commit graph

587 commits

Author SHA1 Message Date
Marcelo Matus
2ecbbbf107 moving the 'unnamed' macros outside swig.swg, for better mantainance
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5809 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-03-31 04:18:11 +00:00
Marcelo Matus
0a3d3c0d0d added support for unnamed C++ enum members
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5805 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-03-31 01:35:44 +00:00
Marcelo Matus
f0cb509b70 fix for old STL std::string
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5804 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-03-30 08:13:26 +00:00
Marcelo Matus
6e6356622b disable complex test for C compilers
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5799 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-03-29 21:40:57 +00:00
Marcelo Matus
1907bc9a96 fix range problem for complex<float>, found by szabi@mplayerhq.hu
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5798 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-03-29 21:37:09 +00:00
Marcelo Matus
2f4bf186cc more cases
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5796 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-03-29 06:01:39 +00:00
Marcelo Matus
374de2b261 added template test
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5790 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-03-23 01:12:06 +00:00
Marcelo Matus
5a656bf645 more tests
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5784 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-03-21 23:38:59 +00:00
Marcelo Matus
e83c226741 add 'attribute' macros for python
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5777 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-03-20 00:08:36 +00:00
Henning Thielemann
483d8b4367 added basic Modula-3 support
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5776 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-03-19 11:45:29 +00:00
Marcelo Matus
c8d7e4d971 new tests for string and directors+containers
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5772 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-03-18 21:30:24 +00:00
Marcelo Matus
64973655da fix old std_pair version
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5760 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-03-17 10:45:19 +00:00
Marcelo Matus
9e22799f04 more test files for STL
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5759 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-03-17 09:52:22 +00:00
Marcelo Matus
359d862a49 add vector test
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5758 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-03-17 09:49:17 +00:00
Marcelo Matus
4267bda1a9 add test for the mangling extension #@ preproc.i
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5757 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-03-17 09:44:35 +00:00
Marcelo Matus
81ae8b5e68 fix template complex
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5756 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-03-17 09:43:35 +00:00
William S Fulton
8bef639f31 All tests now use the -namespace commandline option
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5740 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-02-24 21:06:54 +00:00
William S Fulton
197b15b0ec Replace ; with && where appropriate. This fixes the makefiles so that Make correctly errors out rather than blindly carrying on when some error occurs.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5731 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-02-20 22:57:23 +00:00
William S Fulton
cff68da57b overloading when SWIG cannot disambiguate parameters tests added
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5711 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-02-12 21:45:11 +00:00
Marcelo Matus
5291809136 add argcargv test
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5708 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-02-10 10:02:33 +00:00
Marcelo Matus
f16583559c now use the new argcargv.i
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5707 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-02-10 09:55:58 +00:00
Marcelo Matus
15923cd8b8 Added the ref/unref 'recursive' featues. See refcount.i for details
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5705 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-02-10 09:21:36 +00:00
Marcelo Matus
d29dbe752d Keep the old non-resolved type str and add the fully
resolved one if is needed.

Add examples showing the problem with SWIG_TypeQuery
and template+typedef and the old type str, and how
it works now.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5704 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-02-10 08:37:30 +00:00
William S Fulton
c523afc3ec New test case testing some broken aspects of %feature
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5698 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-02-04 21:05:39 +00:00
Marcelo Matus
e4025170df added another simple method
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5696 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-02-02 21:11:28 +00:00
Marcelo Matus
cff86e376c add complex test
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5693 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-28 01:38:59 +00:00
Marcelo Matus
b85c9ace6b Fix long long and other warnings.
Add the macros

%typemap_asfromcheck()
%typemap_asfrom()

that can be used to defined all the different typemaps
for types where the As/From/Check methods are provided.

All the basic type (int, char,...) typemaps are implemented
using them.

The std::string and std::complex<T> are reimplemented using
the new %typemap_asfrom/check macros too. This helps to complete
all the previously missing typemaps (consttab, varin, varout,..)
and also ilustrates how to define the As/From/Check methods
to use with the %typemap_asfrom/check macros.

As a byproduct, the C complex typemap was added, and the file

complex.i

can be used to load the complex support for either C or C++. The
original C++ std_complex.i is still there, and the corresponding C
ccomplex.i too, if they need to be included explicitly.

Also, the As/From methods are declared via %fragment, so, they
can be reused as needed, and only appear in the wrapped code if
they corresponding typemap is invoked, making the typemaps
and the entire code shorter and simpler.


Marcelo.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5691 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-28 01:30:13 +00:00
Marcelo Matus
9b4df57aa4 Simple patch to allow fragments to include other fragments:
%fragment("Hello","header") "..."

%fragment("Hi","header",fragment="Hello") "..."

the latter fragment will include the first one if is invoked.

more than one fragment can be included at the time, just
keep adding fragment="f1",fragment="f2", etc.

this is used to emulate typemaps reuse, where all the
reusable typemap code is put in a fragment static method,
and then it can be included from another fragment typemap
as needed.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5690 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-27 23:39:35 +00:00
Marcelo Matus
aabed0eedf add support for char* to accepts char* :), before
they only accept PyStrings.

now the raw pointer from calloc.i, for example, works
fine.

some of the SWIG_PyObj_(As|From)XXX routines are getting
too large, so, they also will go into the runtime library.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5689 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-26 11:55:22 +00:00
Marcelo Matus
dc061e30f1 Better mapping of char[ANY] in python, including embedded
null chars, which are allowed in C++ and python, and proper
sizes:

  you can use a shorter string to assign a char[6]:

     x = "he\0l"  -> x := {'h','e',0,'l',0, 0}

  but you always get back in python the original size:

   x := {'h','i','0','0',0, 0} -> "hi\0\0\0\0"

Better mapping of (char*)0, now you get a None in the python
side, and using None, you get a (char*)0, just like
all the other C++ pointers. Before (char*)0 was mapped
into python as "", or as seg. faults.

Better mapping of "", which is not None nor (char*)0.

Added more tests using primitive types with simple templates.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5687 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-25 09:45:18 +00:00
Marcelo Matus
b3896b1919 properly manage the strange but valid case:
typedef char namet[5];
  const namet def_namet = {'h','o', 0, 'l','a'};

ie, char arrays with null embedded characters, and other odd
char[ANY] situations.

add the corresponding test to the primitive_types.i and runme files.

Marcelo

 ----------------------------------------------------------------------


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5685 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-24 07:20:59 +00:00
Marcelo Matus
9d10f61cbd add extensive tests for the primitive types, it will crash in almost every language now, see the file for instructions about some typemaps that need to be fixed
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5680 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-24 00:21:02 +00:00
William S Fulton
deee48b017 Fixes to link on Cygwin
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5675 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-22 22:43:32 +00:00
Marcelo Matus
55e0ea52bd added refcount example using the old macro way and the proposed ref/unref features
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5667 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-22 06:26:17 +00:00
Marcelo Matus
baf05fd515 added test for simple virtual derivation, where ruby fails
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5666 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-22 06:23:57 +00:00
Marcelo Matus
e63a259672 also, change the module name to director_frob
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5665 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-22 00:52:06 +00:00
Marcelo Matus
f7a318c637 using better names for frob
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5664 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-22 00:41:37 +00:00
William S Fulton
62c17bc996 Improved runtime tests
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5661 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-21 21:23:31 +00:00
Marcelo Matus
dedb5a9697 - recover the proper catching exception mechanism for classes
(throw typemap).

- fix the examples with exception problems and warnings

- proper and consist treatment of basic types (short, unsigned char,...)

  now all are checked for range and sign. Before, this was depending of
  the use of parsing or no parsing, and/or the converter method, and/or
  the use of directors, etc.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5659 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-21 01:15:10 +00:00
Marcelo Matus
6b0485b6b5 fixes for the nodirector feature and the '0' director member case
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5657 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-21 00:46:08 +00:00
William S Fulton
01a1e83dcb Memory management fixes and comment corrections
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5656 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-20 21:28:29 +00:00
William S Fulton
9847ce3fbd Added missing delete
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5655 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-20 21:27:59 +00:00
William S Fulton
062424ca40 Added missing tests
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5654 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-20 21:27:27 +00:00
William S Fulton
68973cebf7 .cvsignore
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5653 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-20 21:25:32 +00:00
William S Fulton
6f2e85b5c2 All the runtime scripts are called runme.pl now for easier testing
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5652 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-20 21:24:12 +00:00
William S Fulton
d2d3496881 All the runtime scripts are called runme.tcl now for easier testing
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5651 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-20 21:22:56 +00:00
Marcelo Matus
501bca9b67 add wrapmacro
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5650 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-20 20:54:12 +00:00
Marcelo Matus
66c14bc75a add python runme
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5648 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-20 20:49:05 +00:00
Marcelo Matus
1942126d2c add file to test macro wrapping techniques
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5641 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-17 00:56:31 +00:00
Marcelo Matus
eef544b02f added more ugly 'self' cases
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5640 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-01-15 22:59:55 +00:00