diff src/lwasm.h @ 76:2fe5fd7d65a3

Checkpointing object target implementation
author lost
date Thu, 08 Jan 2009 02:57:24 +0000
parents 92eb93bffa28
children a338d496350e
line wrap: on
line diff
--- a/src/lwasm.h	Thu Jan 08 01:32:49 2009 +0000
+++ b/src/lwasm.h	Thu Jan 08 02:57:24 2009 +0000
@@ -169,11 +169,13 @@
 __lwasm_E__ int lwasm_next_context(asmstate_t *as);
 
 // also throw an error on expression eval failure
-// return 0 on ok, -1 on error
+// return 0 on ok, -1 on error, 1 if a complex expression was returned
 #define EXPR_NOFLAG			0
-#define EXPR_PASS1CONST		1
-#define EXPR_PASS2CONST		2
-#define EXPR_BYTE			4
+#define EXPR_PASS1CONST		1	// no forward references on pass 1
+#define EXPR_PASS2CONST		2	// no undefined references on pass 2
+#define EXPR_BYTE			4	// the result must fit within 8 bits
+#define EXPR_COMPLEX		8	// a non-constant result is permitted (stored in l -> expr)
+
 __lwasm_E__ int lwasm_expr_result(asmstate_t *as, lwasm_line_t *l, char **inp, int flag, int *val);
 
 #undef __lwasm_E__