From 5262831592fbfc43b9f107b29464f22d687b318f Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Sat, 7 Jun 2003 14:53:59 +0000 Subject: [PATCH] 2003-06-07 H.J. Lu * app.c (do_scrub_chars): Add states 14 and 15 to handle predicate for ia64. --- gas/ChangeLog | 5 +++++ gas/app.c | 25 +++++++++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/gas/ChangeLog b/gas/ChangeLog index 0f3833e302e..8f5aa936130 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2003-06-07 H.J. Lu + + * app.c (do_scrub_chars): Add states 14 and 15 to handle + predicate for ia64. + 2003-06-05 Michael Snyder * config/tc-h8sx.c (get_specific): Distinguish h8h from h8s ops. diff --git a/gas/app.c b/gas/app.c index b1e5f4c9dda..074729fb851 100644 --- 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 -- 2.30.2