diff options
-rw-r--r-- | gas/ChangeLog | 5 | ||||
-rw-r--r-- | gas/config/tc-h8300.c | 11 |
2 files changed, 15 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 68006ee34c..2a4911f422 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -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. diff --git a/gas/config/tc-h8300.c b/gas/config/tc-h8300.c index 4354b1a741..eeb09957e6 100644 --- a/gas/config/tc-h8300.c +++ b/gas/config/tc-h8300.c @@ -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; |