* config/tc-m68k.c (m68k_ip): When recognizing '#', use isbyte and
authorIan Lance Taylor <ian@airs.com>
Thu, 10 Aug 1995 16:43:00 +0000 (16:43 +0000)
committerIan Lance Taylor <ian@airs.com>
Thu, 10 Aug 1995 16:43:00 +0000 (16:43 +0000)
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.

gas/ChangeLog
gas/Makefile.in
gas/config/tc-m68k.c

index 2ed0a61729d6a6fd213bf20c472729e295b31027..61eccb59191784abb772fabe18c1abb1a9fa805c 100644 (file)
@@ -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.
index 1aaf8f24a8d0f09c5d0ad679a0cfde7d817b1bef..dc1d11291830949f25b6ace11415e6e06785d71f 100644 (file)
@@ -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.
 
index 55137c5d31f94e0556e961e1ce706dd17b56c537..6e320c0baef51d3dc1cd73ca732752f17b2993ec 100644 (file)
@@ -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++;