Mercurial > repos > rhope
diff test/test.c @ 7:d61550e2c001
Added current work on new runtime
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Wed, 13 May 2009 00:47:40 -0400 |
parents | |
children | 8d74ef7fa357 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/test.c Wed May 13 00:47:40 2009 -0400 @@ -0,0 +1,33 @@ +#include <stdio.h> +#include "builtin.h" +#include "object.h" +#include "integer.h" + +int main(int argc, char ** argv) +{ + returntype ret; + calldata cdata; + register_builtin_types(); + cdata.params[0] = make_Int32(2); + cdata.params[1] = make_Int32(3); + cdata.num_params = 2; + ret = call_method(METHOD_ADD, &cdata); + while(ret == TAIL_RETURN) + ret = cdata.tail_func(&cdata); + if(ret == EXCEPTION_RETURN) { + puts("Exception!"); + exit(-1); + } + printf("After METHOD_ADD: %d\n", ((_t_Int32 *)cdata.params[0])->num); + cdata.params[1] = make_Int32(1); + ret = call_method(METHOD_SUB, &cdata); + while(ret == TAIL_RETURN) + ret = cdata.tail_func(&cdata); + if(ret == EXCEPTION_RETURN) { + puts("Exception!"); + exit(-1); + } + printf("After METHOD_ADD: %d\n", ((_t_Int32 *)cdata.params[0])->num); + return 0; +} +