diff options
author | Ian Lance Taylor <ian@airs.com> | 1995-08-10 16:43:00 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 1995-08-10 16:43:00 +0000 |
commit | 336435bc4dc648b48da47e8660e11569619d56a2 (patch) | |
tree | 777d6f17020b413ac343d7baee0e8d9cc4bcf52e /gas | |
parent | e14994d9805ce899cdaeb010be7a7bc5887dbdaf (diff) | |
download | gdb-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/ChangeLog | 8 | ||||
-rw-r--r-- | gas/Makefile.in | 2 | ||||
-rw-r--r-- | gas/config/tc-m68k.c | 13 |
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++; |