This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[PATCH, Committed] Replace workarouds for parsing LSETUP( and SAA( by a cleaner fix.
- From: Jie Zhang <jzhang918 at gmail dot com>
- To: binutils at sources dot redhat dot com
- Date: Wed, 19 Oct 2005 21:29:45 +0800
- Subject: [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;
}