[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.
|