sim: sh: fix broken handling in DSR reg
authorMike Frysinger <vapier@gentoo.org>
Sat, 28 Mar 2015 18:55:11 +0000 (14:55 -0400)
committerMike Frysinger <vapier@gentoo.org>
Sat, 28 Mar 2015 21:45:30 +0000 (17:45 -0400)
A missing */ caused a case statement to be incorrect masked out which
also hide an error where the wrong value was being checked.  Fix both.

sim/sh/ChangeLog
sim/sh/gencode.c

index 3e0fff1..46b8e53 100644 (file)
@@ -1,5 +1,9 @@
 2015-03-28  Mike Frysinger  <vapier@gentoo.org>
 
+       * gencode.c (ppi_gensim): Add missing */.  Change case 4 to case 5.
+
+2015-03-28  Mike Frysinger  <vapier@gentoo.org>
+
        * Makefile.in (gencode): Add $(BUILD_CFLAGS), $(BUILD_LDFLAGS),
        and $(WARN_CFLAGS).
        * gencode.c: Include ctype.h, stdlib.h, string.h, and unistd.h.
index 0fb1b87..bcaeb6c 100644 (file)
@@ -3359,11 +3359,11 @@ ppi_gensim (void)
   printf ("      DSR |= res_grd >> 7 & 1;\n");
   printf ("    case 2: /* Zero Value Mode */\n");
   printf ("      DSR |= DSR >> 6 & 1;\n");
-  printf ("    case 3: /* Overflow mode\n");
+  printf ("    case 3: /* Overflow mode */\n");
   printf ("      DSR |= overflow >> 4;\n");
   printf ("    case 4: /* Signed Greater Than Mode */\n");
   printf ("      DSR |= DSR >> 7 & 1;\n");
-  printf ("    case 4: /* Signed Greater Than Or Equal Mode */\n");
+  printf ("    case 5: /* Signed Greater Than Or Equal Mode */\n");
   printf ("      DSR |= greater_equal >> 7;\n");
   printf ("    }\n");
   printf (" assign_z:\n");