aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1995-08-10 16:43:00 +0000
committerIan Lance Taylor <ian@airs.com>1995-08-10 16:43:00 +0000
commit336435bc4dc648b48da47e8660e11569619d56a2 (patch)
tree777d6f17020b413ac343d7baee0e8d9cc4bcf52e /gas
parente14994d9805ce899cdaeb010be7a7bc5887dbdaf (diff)
downloadgdb-336435bc4dc648b48da47e8660e11569619d56a2.zip
gdb-336435bc4dc648b48da47e8660e11569619d56a2.tar.gz
gdb-336435bc4dc648b48da47e8660e11569619d56a2.tar.bz2
* config/tc-m68k.c (m68k_ip): When recognizing '#', use isbyte and
iword rather than expr8 and expr16. When recognizing 'M', use issbyte rather than expr8. When recognizing 'Q' and 't', just check for O_constant rather than using expr8. * config/m68k-parse.h (expr8, expr16): Don't define. * Makefile.in (m68k-parse.o): Depend upon m68k-parse.h, not m68k-parse.y.
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog8
-rw-r--r--gas/Makefile.in2
-rw-r--r--gas/config/tc-m68k.c13
3 files changed, 17 insertions, 6 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 2ed0a61..61eccb5 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,5 +1,13 @@
Thu Aug 10 00:38:11 1995 Ian Lance Taylor <ian@cygnus.com>
+ * config/tc-m68k.c (m68k_ip): When recognizing '#', use isbyte and
+ iword rather than expr8 and expr16. When recognizing 'M', use
+ issbyte rather than expr8. When recognizing 'Q' and 't', just
+ check for O_constant rather than using expr8.
+ * config/m68k-parse.h (expr8, expr16): Don't define.
+ * Makefile.in (m68k-parse.o): Depend upon m68k-parse.h, not
+ m68k-parse.y.
+
* read.c (potable): Add spc, ttl, xcom, xref.
(s_mri_sect): New function.
* read.h (s_mri_sect): Declare.
diff --git a/gas/Makefile.in b/gas/Makefile.in
index 1aaf8f2..dc1d112 100644
--- a/gas/Makefile.in
+++ b/gas/Makefile.in
@@ -354,7 +354,7 @@ e-mipsecoff.o : $(srcdir)/config/e-mipsecoff.c
m68k-parse.c: $(srcdir)/config/m68k-parse.y
$(BISON) $(BISONFLAGS) $(srcdir)/config/m68k-parse.y
mv -f y.tab.c m68k-parse.c
-m68k-parse.o: m68k-parse.c $(srcdir)/config/m68k-parse.y
+m68k-parse.o: m68k-parse.c $(srcdir)/config/m68k-parse.h
# Remake the info files.
diff --git a/gas/config/tc-m68k.c b/gas/config/tc-m68k.c
index 55137c5..6e320c0 100644
--- a/gas/config/tc-m68k.c
+++ b/gas/config/tc-m68k.c
@@ -768,11 +768,13 @@ m68k_ip (instring)
losing++;
else if (s[1] == 'b'
&& ! isvar (&opP->disp)
- && ! expr8 (&opP->disp))
+ && (opP->disp.exp.X_op != O_constant
+ || ! isbyte (opP->disp.exp.X_add_number)))
losing++;
else if (s[1] == 'w'
&& ! isvar (&opP->disp)
- && ! expr16 (&opP->disp))
+ && (opP->disp.exp.X_op != O_constant
+ || ! isword (opP->disp.exp.X_add_number)))
losing++;
break;
@@ -1076,7 +1078,8 @@ m68k_ip (instring)
case 'M':
if (opP->mode != IMMED)
losing++;
- else if (! expr8 (&opP->disp))
+ else if (opP->disp.exp.X_op != O_constant
+ || ! issbyte (opP->disp.exp.X_add_number))
losing++;
else if (! m68k_quick
&& instring[3] != 'q'
@@ -1092,7 +1095,7 @@ m68k_ip (instring)
case 'Q':
if (opP->mode != IMMED)
losing++;
- else if (! expr8 (&opP->disp)
+ else if (opP->disp.exp.X_op != O_constant
|| opP->disp.exp.X_add_number < 1
|| opP->disp.exp.X_add_number > 8)
losing++;
@@ -1139,7 +1142,7 @@ m68k_ip (instring)
case 't':
if (opP->mode != IMMED)
losing++;
- else if (! expr8 (&opP->disp)
+ else if (opP->disp.exp.X_op != O_constant
|| opP->disp.exp.X_add_number < 0
|| opP->disp.exp.X_add_number > 7)
losing++;