summaryrefslogtreecommitdiff
path: root/gas/app.c
diff options
context:
space:
mode:
authorH.J. Lu <hjl@lucon.org>2003-06-07 14:53:59 +0000
committerH.J. Lu <hjl@lucon.org>2003-06-07 14:53:59 +0000
commit371e185fb1d111e28e1185df0771fdda9b876687 (patch)
tree7101a96a695177f3a87d9874fd73576a453e0849 /gas/app.c
parent9dda27048214d6c89656b0015d0bd1fbc28f7c65 (diff)
downloadbinutils-redhat-371e185fb1d111e28e1185df0771fdda9b876687.tar.gz
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.
Diffstat (limited to 'gas/app.c')
-rw-r--r--gas/app.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/gas/app.c b/gas/app.c
index b1e5f4c9dd..074729fb85 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