All but four test cases work. I'm going to leave these for afterward.

I've moved completely away from the "value" type to "caml_value_t".  Although
a bit painful, this will make things easier for me.  I seem to be seeing
quite a few things that use the word value as a function, type, etc, and
wanted to get something that doesn't collide.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4593 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Art Yerkes 2003-03-20 20:51:05 +00:00
commit f7d59cab5d
6 changed files with 172 additions and 129 deletions

View file

@ -703,7 +703,7 @@ public:
// adds local variables
Wrapper_add_local(f, "args", "CAMLparam1(args)");
Wrapper_add_local(f, "ret" , "CAMLlocal2(swig_result,rv)");
Wrapper_add_local(f, "ret" , "SWIG_CAMLlocal2(swig_result,rv)");
Wrapper_add_local(f, "_len", "int _len");
Wrapper_add_local(f, "lenv", "int lenv = 1");
Wrapper_add_local(f, "argc", "int argc = caml_list_length(args)");
@ -992,7 +992,7 @@ public:
String *tm;
String *tm2 = NewString("");;
String *argnum = NewString("0");
String *arg = NewString("Field(args,0)");
String *arg = NewString("SWIG_Field(args,0)");
Wrapper *f;
if (!iname || !addSymbol(iname,n)) return SWIG_ERROR;
@ -1452,7 +1452,7 @@ public:
declaration = NewString("");
Wrapper_add_local(w,"swig_result",
"CAMLparam0();\n"
"CAMLlocal2(swig_result,args)");
"SWIG_CAMLlocal2(swig_result,args)");
/* determine if the method returns a pointer */
decl = Getattr(n, "decl");
@ -1626,7 +1626,7 @@ public:
/* pass the method call on to the Python object */
Printv(w->code,
"swig_result = caml_swig_alloc(1,C_list);\n"
"Store_field(swig_result,0,args);\n"
"SWIG_Store_field(swig_result,0,args);\n"
"args = swig_result;\n"
"swig_result = Val_unit;\n",0);
Printf(w->code,