diff lwasm/pass1.c @ 385:cf8c92d70eb1

Various bugfixes
author lost@starbug
date Sun, 16 May 2010 11:50:00 -0600
parents 848d3cca8078
children fbb7bfed8076
line wrap: on
line diff
--- a/lwasm/pass1.c	Sat May 15 20:46:04 2010 -0600
+++ b/lwasm/pass1.c	Sun May 16 11:50:00 2010 -0600
@@ -91,6 +91,7 @@
 		cl -> pragmas = as -> pragmas;
 		cl -> context = as -> context;
 		cl -> ltext = lw_strdup(line);
+		as -> cl = cl;
 		if (!as -> line_tail)
 		{
 			as -> line_head = cl;
@@ -107,7 +108,8 @@
 			te = lw_expr_build(lw_expr_type_special, lwasm_expr_linelen, cl -> prev);
 			cl -> addr = lw_expr_build(lw_expr_type_oper, lw_expr_oper_plus, cl -> prev -> addr, te);
 			lw_expr_destroy(te);
-			lw_expr_simplify(cl -> addr, as);
+			lwasm_reduce_expr(as, cl -> addr);
+//			lw_expr_simplify(cl -> addr, as);
 
 			// carry DP value forward
 			cl -> dpval = cl -> prev -> dpval;
@@ -121,7 +123,6 @@
 			lc = 0;
 		}
 		as -> line_tail = cl;
-		as -> cl = cl;
 		// blank lines don't count for anything
 		// except a local symbol context break
 		if (!*line)