[pure-lang-svn] SF.net SVN: pure-lang:[668] pure/trunk
Status: Beta
Brought to you by:
agraef
From: <ag...@us...> - 2008-08-30 20:08:55
|
Revision: 668 http://pure-lang.svn.sourceforge.net/pure-lang/?rev=668&view=rev Author: agraef Date: 2008-08-30 20:09:05 +0000 (Sat, 30 Aug 2008) Log Message: ----------- Add expression pointer operations. Modified Paths: -------------- pure/trunk/runtime.cc pure/trunk/runtime.h Modified: pure/trunk/runtime.cc =================================================================== --- pure/trunk/runtime.cc 2008-08-30 19:51:11 UTC (rev 667) +++ pure/trunk/runtime.cc 2008-08-30 20:09:05 UTC (rev 668) @@ -2571,6 +2571,13 @@ } extern "C" +pure_expr *pointer_get_expr(void *ptr) +{ + pure_expr **p = (pure_expr**)ptr; + return *p; +} + +extern "C" void pointer_put_byte(void *ptr, int32_t x) { uint8_t *p = (uint8_t*)ptr; @@ -2605,6 +2612,13 @@ *p = x; } +extern "C" +void pointer_put_expr(void *ptr, pure_expr *x) +{ + pure_expr **p = (pure_expr**)ptr; + *p = x; +} + #include <errno.h> extern "C" Modified: pure/trunk/runtime.h =================================================================== --- pure/trunk/runtime.h 2008-08-30 19:51:11 UTC (rev 667) +++ pure/trunk/runtime.h 2008-08-30 20:09:05 UTC (rev 668) @@ -553,12 +553,14 @@ double pointer_get_double(void *ptr); char *pointer_get_string(void *ptr); void *pointer_get_pointer(void *ptr); +pure_expr *pointer_get_expr(void *ptr); void pointer_put_byte(void *ptr, int32_t x); void pointer_put_int(void *ptr, int32_t x); void pointer_put_double(void *ptr, double x); void pointer_put_string(void *ptr, const char *x); void pointer_put_pointer(void *ptr, void *x); +void pointer_put_expr(void *ptr, pure_expr *x); /* Initialize a bunch of variables with useful system constants. */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |