This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH, Committed] Replace workarouds for parsing LSETUP( and SAA( by a cleaner fix.


This patch fixes issues of parsing LSETUP( and SAA( of bfin port in a
cleaner way. So old workarounds can be removed now.

Tested using gas testsuite on bfin-elf target. Committed.

Jie
2005-10-19  Jie Zhang  <jie.zhang@analog.com>

	* config/tc-bfin.c (md_begin): Let the lex_type of '(' be
	LEX_BEGIN_NAME.
	(bfin_start_line_hook): Remove the workaround for LSETUP(.
	(bfin_name_is_register): Remove the workarounds for LSETUP(
	and SAA(.
	(bfin_start_label): Ditto.

Index: gas/config/tc-bfin.c
===================================================================
RCS file: /cvs/src/src/gas/config/tc-bfin.c,v
retrieving revision 1.1
diff -u -r1.1 tc-bfin.c
--- gas/config/tc-bfin.c	30 Sep 2005 15:05:06 -0000	1.1
+++ gas/config/tc-bfin.c	19 Oct 2005 13:09:50 -0000
@@ -273,7 +273,7 @@
 
   /* Ensure that lines can begin with '(', for multiple
      register stack pops. */
-  lex_type ['('] = 3;
+  lex_type ['('] = LEX_BEGIN_NAME;
   
 #ifdef OBJ_ELF
   record_alignment (text_section, 2);
@@ -755,21 +755,6 @@
   while (ISSPACE (*c))
     c++;
 
-  /* Look for LSETUP(. */
-  if (!strncasecmp (input_line_pointer, "lsetup(", 7))
-    {
-      /* Need to insert space between lsetup and paren.  */
-      input_line_pointer --;
-      input_line_pointer[0] = 'l';
-      input_line_pointer[1] = 's';
-      input_line_pointer[2] = 'e';
-      input_line_pointer[3] = 't';
-      input_line_pointer[4] = 'u';
-      input_line_pointer[5] = 'p';
-      input_line_pointer[6] = ' ';
-      return;
-    }
-
   /* Look for Loop_Begin or Loop_End statements.  */
 
   if (*c != 'L' && *c != 'l')
@@ -1892,12 +1877,6 @@
   if ((name[0] == 'B' || name[0] == 'b') && name[1] == '[')
     return TRUE;
 
-  if (!strncasecmp (name, "saa(", 4))
-    return TRUE;
-
-  if (!strncasecmp (name, "lsetup(", 7))
-    return TRUE;
-
   for (i=0; bfin_reg_info[i].name != 0; i++)
    {
      if (!strcasecmp (bfin_reg_info[i].name, name))
@@ -1931,12 +1910,6 @@
   if (*ptr == '(' || *ptr == '[')
     return FALSE;
 
-  if (!strncmp (ptr, "saa(", 4))
-    return FALSE;
-
-  if (!strncmp (ptr, "lsetup(", 7))
-    return FALSE;
-
   return TRUE;
 } 
 

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]