unused local vars `need_len' and `need_tempc'. Also, only
generate `_len' and `_tempc' when not `with_smobs'. (Thanks to
Matthias Koeppe.)
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@428 626c5289-ae23-0410-ae9c-e8d60b6d4f22
(MZSCHEME::get_pointer): Rewrite.
(MZSCHEME::create_function): Declare local var `_len' after `_tempc'.
Check `argout_set' before generating `scheme_void' return value.
Use `swig_make_c_pointer' for pointers.
Generated local var `_values' is now an array of pointers.
(MZSCHEME::link_variable): Rewrite using `swig_get_c_pointer'
and `swig_make_c_pointer'.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@424 626c5289-ae23-0410-ae9c-e8d60b6d4f22
Why did you remove the INPUT/OUTPUT/BOTH typemaps in revision 1.3 of
Lib/guile/typemaps.i? They seem to be standard in SWIG, as they are
present in the other language modules, and everyone needs them. I
suggest you put them back in.
Lib/exception.i, Source/Modules1.1/guile.cxx: I have written the
Guile-specific code for Lib/exception.i, which implements
SWIG_exception as a macro calling _SWIG_exception, which is defined in
the same file. The SWIG_*Error constants are mapped to Guile error
symbols, which are passed to scm_error. The macro uses the
preprocessor macro SCHEME_NAME, which is set at the beginning of the
function wrapper code by a modified Source/Modules1.1/guile.cxx. Here
is a test (with array.i):
(int-get '() 0) ==> signals swig-value-error
Moreover, I fixed a type-lookup bug in Lib/guile/guile.swg when
compiled -with-smobs, which had crept in from swigptr.swg. Here is a
test (again with array.i):
(define c (int-array 5))
(int-get c 0) ==> must not signal a wrong-type error
Lib/guile/guiledec.swg, Source/Modules1.1/guile.cxx: Use the
SWIG_NOINCLUDE preprocessor symbol to indicate that SWIG runtime
functions are imported from a different module, as it is done in other
language modules.
(SWIG_init) Make this function globally visible only in simple linkage
(the user should rename the function by a #define in this case). In
other linkages, having SWIG_init globally visible (in multiple
modules) just makes trouble.
Source/Modules1.1/guile.cxx (GUILE::link_variable) Printf the C
string, not the String class.
Source/SWIG1.1/swig11.h, Source/SWIG1.1/sstring.cxx: Constified two
operator arguments, to get rid of warnings issued by the SUNWSpro
C++ compiler.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@417 626c5289-ae23-0410-ae9c-e8d60b6d4f22
preprocessor symbol to indicate that SWIG runtime functions are
imported from a different module, as it is done in other
language modules.
(GUILE::initialize): Rework `SWIG_init' declaration, so that it
is globally visible only in simple linkage (the user should
rename the function by a #define in this case).
(GUILE::emit_linkage): In call to `scm_register_module_xxx',
cast 2nd arg to `void *'.
(GUILE::create_function): In conjunction w/ exception handling,
generate setting of preprocessor macro `SCHEME_NAME' at the
beginning of the function wrapper, and a corresponding undef at
the end.
(GUILE::link_variable): Fix bug: Printf the C string, not the
String class.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@415 626c5289-ae23-0410-ae9c-e8d60b6d4f22
SWIG runtime functions are imported from a different module, as
it is done in other language modules. This primarily affects
the preprocessor symbol `SWIGSTATIC'.
(SWIG_init): Make this function globally visible only in simple
linkage (the user should rename the function by a #define in
this case). In other linkages, this func is static.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@413 626c5289-ae23-0410-ae9c-e8d60b6d4f22