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:
parent
63c883de38
commit
f7d59cab5d
6 changed files with 172 additions and 129 deletions
|
|
@ -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,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue