* config/tc-h8300.c (md_assemble): Make sure characters after
authorAlexandre Oliva <aoliva@redhat.com>
Tue, 22 Jul 2003 04:56:05 +0000 (04:56 +0000)
committerAlexandre Oliva <aoliva@redhat.com>
Tue, 22 Jul 2003 04:56:05 +0000 (04:56 +0000)
slash and dot are lower-case.

gas/ChangeLog
gas/config/tc-h8300.c

index 68006ee34cd2d082d9a5d9e0bdc1bda957f6a8ca..2a4911f42243be0b1740f5a0312824df6f359713 100644 (file)
@@ -1,3 +1,8 @@
+2003-07-22  Alexandre Oliva  <aoliva@redhat.com>
+
+       * config/tc-h8300.c (md_assemble): Make sure characters after
+       slash and dot are lower-case.
+
 2003-07-17  Nick Clifton  <nickc@redhat.com>
 
        * po/es.po: New Spanish translation.
index 4354b1a741e8f9cc9c839d80013edbcff3de6399..eeb09957e63e7708c8767c30ebc0a65678d46ea0 100644 (file)
@@ -1889,6 +1889,7 @@ md_assemble (str)
   const struct h8_instruction *prev_instruction;
 
   char *dot = 0;
+  char *slash = 0;
   char c;
   int size, i;
 
@@ -1908,6 +1909,8 @@ md_assemble (str)
          op_end += 2;
          break;
        }
+      else if (*op_end == '/' && ! slash)
+       slash = op_end;
     }
 
   if (op_end == op_start)
@@ -1918,6 +1921,12 @@ md_assemble (str)
 
   *op_end = 0;
 
+  /* The assembler stops scanning the opcode at slashes, so it fails
+     to make characters following them lower case.  Fix them.  */
+  if (slash)
+    while (*++slash)
+      *slash = TOLOWER (*slash);
+
   instruction = (const struct h8_instruction *)
     hash_find (opcode_hash_control, op_start);
 
@@ -1950,7 +1959,7 @@ md_assemble (str)
   size = SN;
   if (dot)
     {
-      switch (*dot)
+      switch (TOLOWER (*dot))
        {
        case 'b':
          size = SB;