summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/config/tc-h8300.c11
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;