aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/app.c25
2 files changed, 30 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 0f3833e..8f5aa93 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -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.
diff --git a/gas/app.c b/gas/app.c
index b1e5f4c..074729f 100644
--- 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