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.
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.
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;
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'
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++;
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++;