Commit graph

96 commits

Author SHA1 Message Date
Matthias Köppe
89d7d215fe Fix last change, add throw typemap for enums.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7536 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-09-26 21:46:23 +00:00
Matthias Köppe
a681c89727 Added throw typemaps.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7531 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-09-25 21:36:01 +00:00
William S Fulton
49639577e0 use exception specification instead of %exception to handle STL error checking
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7352 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-07-27 20:09:42 +00:00
Matthias Köppe
10e5365ba0 Fix handling of anonymous-enum variables.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7276 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-06-11 16:36:46 +00:00
Matthias Köppe
624cb6e892 Fix for global "const char *" variables.
Fix testcases arrays_dimensionless, arrays_global.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7272 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-06-10 11:43:46 +00:00
Matthias Köppe
21f3f0e81b Fix typecheck for SWIGTYPE.
This fixes the following bug:

Luigi Ballabio wrote:

> The following interface produces Guile wrappers which
> do not compile:
>
> %module Foo
> class Foo {};
> class Bar : public Foo {};
> void baz(Foo f);
>
> The reason seems to be the function baz() taking a Foo by value, which
> causes functions to be emitted in the CONVERSIONS section such as:
>
> static void *_BarTo_Foo(void *x) {
>      return (void *)((Foo)  ((Bar) x));
> }
> static void *_p_BarTo_p_Foo(void *x) {
>      return (void *)((Foo *)  ((Bar *) x));
> }
>
> of which the former doesn't compile; on the other hand, only the second
> function is emitted if baz() takes a Foo by const reference.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7266 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-06-10 10:31:18 +00:00
William S Fulton
c25d1c8e35 Uniform handling of SWIGEXPORT across SWIG.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7234 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-05-27 22:40:58 +00:00
William S Fulton
6f21f0d74a added missing constructors for std::pair
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7221 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-05-25 21:34:39 +00:00
Marcelo Matus
24cc273b92 more warning fixes, cosmetics, and uniformity changes
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7006 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-02-26 08:47:17 +00:00
Matthias Köppe
5753fdb420 Remove %apply for size_t; add %typecheck for size_t and ptrdiff_t
directly.  This fixes warnings in test case wrapmacro.

Add %typecheck for SWIGTYPE.  This fixes warnings in test cases
director_basic, extend_placement, overload_template,
template_default_arg, valuewrapper_opaque.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@6941 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-02-13 12:30:39 +00:00
John Lenz
f6964f285f - Improve the runtime type sytesm
- Update all languages to new type system
- Add DohSortList function
- Fix mzscheme Examples/Makefile


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@6930 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-02-01 00:08:24 +00:00
John Lenz
5ee9c3b717 Cast guile enum in typemap corretly
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@6928 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-01-24 03:01:09 +00:00
Marcelo Matus
0baa17ec05 allow to include the swig runtime code into external user libraries
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@6752 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-11-18 00:37:33 +00:00
John Lenz
53132a810f Revert guile_gh.swg and guile_gh_run.swg to not use new runtime system.
Added global variable to hold status of -runtime,-c,-noruntime flag for use
  in guile gh module mode.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@6630 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-11-02 22:06:53 +00:00
William S Fulton
6f71cc78dc size_t fix
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@6581 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-11-01 21:12:01 +00:00
John Lenz
b83fe6bd77 - Add SWIG_RUNTIME_VERSION to new type sharing code. This is for future-proof, if
the format of swig_type_info ever changes, this number should be incremented
- Add SWIG_LINK_RUNTIME and SWIG_STATIC_RUNTIME symbols to python
- Convert inline into SWIGINLINE


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@6475 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-10-21 21:53:54 +00:00
William S Fulton
31d1012b0a removed redundant valuewrapper feature
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@6459 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-10-20 21:19:14 +00:00
Marcelo Matus
4855fb73ae avoid to use SwigValueWrapper with std::string, just to keep the code cleaner and familiar
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@6422 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-10-18 00:35:16 +00:00
John Lenz
4645346381 Removed ability to share type information by C linking
All type sharing happens through a global variable in the target language.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@6390 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-10-16 18:23:59 +00:00
John Lenz
0e57357472 Fix a few bugs in the tcl module related to clientdata propagation.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@6357 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-10-07 02:31:14 +00:00
Matthias Köppe
7618305ae1 Move the magic with the (Swig swigrun) module here.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@6068 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-07-24 15:21:17 +00:00
Matthias Köppe
0bdfdea410 In -scm mode, SWIG modules now exchange their pointer type information
via the Guile interpreter.  It is no longer necessary to build a
runtime library or to use -noruntime and -runtime etc.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@6067 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-07-24 15:20:05 +00:00
Matthias Köppe
4c49fc803b Don't try to do magic with the (Swig swigrun) module in -runtime mode.
Move SWIG_Guile_Init in front of type registration, to allow type
system synchronization.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@6066 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-07-24 15:19:20 +00:00
Matthias Köppe
87ebbd67ee Don't depend on the presence of the SWIG-PointerAddress function.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@6065 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-07-24 15:17:15 +00:00
Matthias Köppe
9fc10b2f58 Add extern "C" to declaration of scm_init_Swig_swigrun_module.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@6028 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-07-11 17:10:41 +00:00
Matthias Köppe
bfbbb57ae7 04/24/2004: mkoeppe (Matthias Koeppe)
[Guile] New runtime functions SWIG_PointerAddress,
	    SWIG_PointerType, SWIG_IsPointerOfType, SWIG_IsPointer.

	    [Guile] In -scm mode, wrap several SWIG runtime functions
	    and export them into the module (Swig swigrun).  The
	    runtime module is now built with "module" linkage.

	    [Guile] GOOPS proxy objects now also print the pointer
	    address of the C object.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5912 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-05-17 15:47:45 +00:00
Matthias Köppe
dbf01e8ce1 Use the new common runtime function SWIG_TypePrettyName.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5902 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-05-06 09:55:32 +00:00
Matthias Köppe
783d69e252 New common runtime function SWIG_TypePrettyName.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5901 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-05-06 09:51:37 +00:00
Matthias Köppe
eab20219ec The typemap for FILE * in ports.i now also accepts a regular FILE *
pointer object.  Also a bug with Scheme file ports that are open for
input and output has been fixed.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5889 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-04-26 14:09:02 +00:00
Matthias Köppe
959ab00630 In -gh mode, fix the "too many initializers" error
which was caused by an incompatible swig_type_info layout.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5888 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-04-26 14:08:27 +00:00
Matthias Köppe
4976eb0725 In -scm mode, don't forget to check the type of string arguments.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5742 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-03-02 12:58:00 +00:00
Matthias Köppe
18aec6bdc8 Don't try to invoke a null destructor function.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5732 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-02-22 15:28:03 +00:00
Dave Beazley
97e67f76ee Added pack/unpack functions
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5502 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-12-08 18:07:36 +00:00
Matthias Köppe
482ee2360f Rename the three smob types to "swig-pointer",
"collectable-swig-pointer", "destroyed-swig-pointer", so that the
automatically generated class metaobjects <swig-pointer> etc. do not
contain whitespace (which prints stranegly as a symbol) and do not
clash with the <swig> class metaobject of the GOOPS wrapper.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5394 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-25 17:03:59 +00:00
Matthias Köppe
ba4943e63d (SWIG_Guile_NewPointerObj): Return '() to represent null pointers.
This is for compatibility with the -gh version.
Also, GOOPS objects representing null pointers would behave very
badly, like segfaulting when one DESCRIBEs them.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5383 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-24 16:55:22 +00:00
Matthias Köppe
ec54de8592 Add a SWIG_contract_assert macro.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5379 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-23 20:29:07 +00:00
Matthias Köppe
873bfced75 In -gh mode, don't forget to call SWIG_Guile_Init.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5376 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-23 18:47:20 +00:00
Luigi Ballabio
09ec4edb93 Char and unsigned-char specialization added
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5348 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-19 08:38:27 +00:00
Matthias Köppe
dda57d7224 Improvements to object-ownership management in
"-scm" mode.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5330 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-18 15:52:49 +00:00
Matthias Köppe
a1c8f41baf Merge new set of GOOPS changes by John Lenz.
GOOPS objects are now manipulated directly by the C code.
Some fixes to typemap-GOOPS interaction.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5254 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-02 23:15:19 +00:00
Matthias Köppe
52638ec3e4 Fix typos (class K, class T vs. class T, class u)
and include exception.i


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5251 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-11-02 18:38:04 +00:00
Matthias Köppe
2d137ae0e8 Install common.scm.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5182 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-10-05 11:42:36 +00:00
Matthias Köppe
3e216a67dc Remove symbol clashes between runtime libraries.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5181 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-10-05 11:36:52 +00:00
Matthias Köppe
4a30a92fb1 Add GOOPS support, contributed by John Lenz.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5180 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-10-05 11:27:20 +00:00
Matthias Köppe
b416754856 Fix memory leaks in the generated wrapper code.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5098 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-09-10 11:22:12 +00:00
Luigi Ballabio
10138e60b9 Typemap for size_t applied to std::size_t
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5004 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-08-17 11:52:31 +00:00
Luigi Ballabio
8c35d20048 std::pair added (but not very much tested)
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@4959 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-07-10 12:42:42 +00:00
Matthias Köppe
599cf52a50 Moved #defines for SWIG_malloc, SWIG_ConvertPtr et al. from %runtime
block into runtime file.
This fixes the build of the runtime library.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@4912 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-06-18 13:16:23 +00:00
Matthias Köppe
464b80d54f (SWIG_Guile_Init): Cast some strings to char* to avoid const-ness warnings.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@4911 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-06-17 08:51:42 +00:00
Matthias Köppe
34ea7f03ef Merged first chunk of Guile changes contributed by John Lenz.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@4858 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-06-03 22:12:50 +00:00