changeset 591:0497fa2e2414

*** empty log message ***
author kono
date Thu, 19 Jan 2006 19:38:41 +0900
parents cc2a83f98188
children 259a53737e25
files mc-code-arm.c mc-macro.c test/macro.c
diffstat 3 files changed, 16 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/mc-code-arm.c	Thu Jan 19 17:55:10 2006 +0900
+++ b/mc-code-arm.c	Thu Jan 19 19:38:41 2006 +0900
@@ -3017,18 +3017,10 @@
 	break;
     case MUL:
     case UMUL:
-#if 0
+	/* target!=source */
+#if 1
 	inc_inst(1);
-	// drn = register_name(cadr(dx = get_register_var(0)));
-	drn = register_name(dx = get_register());
-	// if (car(dx)!=REGISTER) error(-1);
-	printf("\tmul\t%s, %s, %s\n",drn,crn,orn);
-	if (creg0==USE_CREG) {
-	    set_ireg(dx,0); dx = -1;
-	} else {
-	    printf("\tmov\t%s, %s\n",crn,drn);
-	}
-	if (dx!=-1) free_register(dx);
+	printf("\tmul\t%s, %s, %s\n",crn,orn,crn);
 	break;
 #else
 	inc_inst(1);
--- a/mc-macro.c	Thu Jan 19 17:55:10 2006 +0900
+++ b/mc-macro.c	Thu Jan 19 19:38:41 2006 +0900
@@ -392,7 +392,7 @@
 static void
 macro_if()
 {
-    int i;
+    int i,stype=type;
     ch= *chptr;
     in_macro_if = 1;
     check_macro_eof();
@@ -411,6 +411,7 @@
     }
     macro_if_depth = macro_if_current;
     macro_if_skip = !i;
+    type=stype;
 }
 
 static int
--- a/test/macro.c	Thu Jan 19 17:55:10 2006 +0900
+++ b/test/macro.c	Thu Jan 19 19:38:41 2006 +0900
@@ -74,6 +74,17 @@
     return 0;
 }
 
+int tmp()
+#if 0
+{
+  return 1;
+}
+#else
+{
+  return 0;
+}
+#endif
+
 #if 0
 #endif /*  whoeh
      wohefwiehfoi */