diff lwasm/pass4.c @ 387:a741d2e4869f

Various bugfixes; fixed lwobjdump to display symbols with unprintable characters more sensibly; start of a (nonfunctional for now) testing framework
author lost@l-w.ca
date Wed, 14 Jul 2010 20:15:23 -0600
parents 9c24d9d485b9
children
line wrap: on
line diff
--- a/lwasm/pass4.c	Sun May 16 13:03:17 2010 -0600
+++ b/lwasm/pass4.c	Wed Jul 14 20:15:23 2010 -0600
@@ -36,7 +36,7 @@
 Force resolution of instruction sizes.
 
 */
-void do_pass4(asmstate_t *as)
+void do_pass4_aux(asmstate_t *as, int force)
 {
 	int rc;
 	int cnt;
@@ -76,7 +76,7 @@
 		if (sl -> len == -1 && sl -> insn >= 0 && instab[sl -> insn].resolve)
 		{
 			(instab[sl -> insn].resolve)(as, sl, 1);
-			if (sl -> len == -1)
+			if (force && sl -> len == -1)
 			{
 				lwasm_register_error(as, sl, "Instruction failed to resolve.");
 				return;
@@ -122,3 +122,8 @@
 		} while (rc > 0);
 	}
 }
+
+void do_pass4(asmstate_t *as)
+{
+	do_pass4_aux(as, 1);
+}