summaryrefslogtreecommitdiff
blob: 52097d66210a431fbfc1d2d66087fe99fca30bf5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
2003-06-06  H.J. Lu <hongjiu.lu@intel.com>

	* app.c (do_scrub_chars): Add states 14 and 15 to handle
	predicate for ia64.

--- gas/app.c.pred	2003-04-24 14:19:07.000000000 -0700
+++ gas/app.c	2003-06-07 07:48:33.000000000 -0700
@@ -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