2003-06-07 H.J. Lu <hongjiu.lu@intel.com>
authorH.J. Lu <hjl.tools@gmail.com>
Sat, 7 Jun 2003 14:53:59 +0000 (14:53 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Sat, 7 Jun 2003 14:53:59 +0000 (14:53 +0000)
* app.c (do_scrub_chars): Add states 14 and 15 to handle
predicate for ia64.

gas/ChangeLog
gas/app.c

index 0f3833e..8f5aa93 100644 (file)
@@ -1,3 +1,8 @@
+2003-06-07  H.J. Lu <hongjiu.lu@intel.com>
+
+       * app.c (do_scrub_chars): Add states 14 and 15 to handle
+       predicate for ia64.
+
 2003-06-05  Michael Snyder  <msnyder@redhat.com>
 
        * config/tc-h8sx.c (get_specific): Distinguish h8h from h8s ops.
index b1e5f4c..074729f 100644 (file)
--- a/gas/app.c
+++ b/gas/app.c
@@ -374,6 +374,12 @@ do_scrub_chars (get, tostart, tolen)
         13: After seeing a vertical bar, looking for a second
             vertical bar as a parallel expression separator.
 #endif
+#ifdef TC_IA64
+        14: After seeing a `(' at state 0, looking for a `)' as
+            predicate.
+        15: After seeing a `(' at state 1, looking for a `)' as
+            predicate.
+#endif
          */
 
   /* I added states 9 and 10 because the MIPS ECOFF assembler uses
@@ -674,6 +680,25 @@ do_scrub_chars (get, tostart, tolen)
       /* flushchar: */
       ch = GET ();
 
+#ifdef TC_IA64
+      if (ch == '(' && (state == 0 || state == 1))
+       {
+         state += 14;
+         PUT (ch);
+         continue;
+       }
+      else if (state == 14 || state == 15)
+       {
+         if (ch == ')')
+           state -= 14;
+         else
+           {
+             PUT (ch);
+             continue;
+           }
+       }
+#endif
+
     recycle:
 
 #if defined TC_ARM && defined OBJ_ELF