This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: RFC: Supporting quoted symbol/label names
- From: Alan Modra <amodra at gmail dot com>
- To: Nick Clifton <nickc at redhat dot com>
- Cc: binutils at sourceware dot org
- Date: Wed, 26 Aug 2015 23:11:03 +0930
- Subject: Re: RFC: Supporting quoted symbol/label names
- Authentication-results: sourceware.org; auth=none
- References: <87vbcccxda dot fsf at redhat dot com> <55D747F1 dot 5020105 at redhat dot com>
On Fri, Aug 21, 2015 at 04:46:57PM +0100, Nick Clifton wrote:
> OK, I have gone ahead and applied my patch. I have not extended it (yet) to
> handle escape sequences inside quoted strings, although that may come in the
> future.
Some fallout from this patch. fr30-elf gas is broken too, and I
think I'll leave fixing that one to Nick.
PR gas/18581
* config/tc-mn10200.c (md_assemble <mdr>): Move restore_line_pointer
call to where input line used to be restored.
* config/tc-mn10300.c (md_assemble <usp>): Remove redundant input
line restore.
* config/tc-tilepro.c (parse_reg_expression): Add regname var.
diff --git a/gas/config/tc-mn10200.c b/gas/config/tc-mn10200.c
index 4d4f482..cabbcc1 100644
--- a/gas/config/tc-mn10200.c
+++ b/gas/config/tc-mn10200.c
@@ -995,13 +995,14 @@ md_assemble (char *str)
char *start;
char c = get_symbol_name (&start);
- (void) restore_line_pointer (c);
if (strcmp (start, "mdr") != 0)
{
+ (void) restore_line_pointer (c);
input_line_pointer = hold;
str = hold;
goto error;
}
+ (void) restore_line_pointer (c);
goto keep_going;
}
else if (data_register_name (&ex))
diff --git a/gas/config/tc-mn10300.c b/gas/config/tc-mn10300.c
index 0d13622..da05cac 100644
--- a/gas/config/tc-mn10300.c
+++ b/gas/config/tc-mn10300.c
@@ -1417,14 +1417,12 @@ md_assemble (char *str)
if (strcasecmp (start, "usp") != 0)
{
- (void) restore_line_pointer (c);
- *input_line_pointer = c;
+ (void) restore_line_pointer (c);
input_line_pointer = hold;
str = hold;
goto error;
}
(void) restore_line_pointer (c);
- *input_line_pointer = c;
goto keep_going;
}
else if (operand->flags & MN10300_OPERAND_SSP)
diff --git a/gas/config/tc-tilepro.c b/gas/config/tc-tilepro.c
index e7c7c64..a979473 100644
--- a/gas/config/tc-tilepro.c
+++ b/gas/config/tc-tilepro.c
@@ -980,6 +980,7 @@ parse_reg_expression (expressionS* expression)
/* Zero everything to make sure we don't miss any flags. */
memset (expression, 0, sizeof *expression);
+ char *regname;
char terminating_char = get_symbol_name (®name);
void* pval = hash_find (main_reg_hash, regname);
--
Alan Modra
Australia Development Lab, IBM