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 0f3833e302ea003286e08763e8a5231a180fd7d1..8f5aa936130cd48d99530395a30181e1c97707eb 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 b1e5f4c9dda7200028a9f4b5e14c10034d3cc8cf..074729fb851533315bcb282b5eb19beb2de12a4e 100644 (file)
--- a/gas/app.c
+++ b/gas/app.c
@@ -373,6 +373,12 @@ do_scrub_chars (get, tostart, tolen)
 #ifdef DOUBLEBAR_PARALLEL
         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
          */
 
@@ -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