summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2003-06-07 14:53:59 +0000
committerH.J. Lu <hjl.tools@gmail.com>2003-06-07 14:53:59 +0000
commit5262831592fbfc43b9f107b29464f22d687b318f (patch)
tree8e56229a61cdbe7fa7b4df9287e3f56c2346d78c
parent789b97bf70a482f12009c430f02eff652ce045d4 (diff)
downloadppe42-binutils-5262831592fbfc43b9f107b29464f22d687b318f.tar.gz
ppe42-binutils-5262831592fbfc43b9f107b29464f22d687b318f.zip
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.
-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 0f3833e302..8f5aa93613 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 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
OpenPOWER on IntegriCloud