Fallout from "Allow symbol and label names to be enclosed in double quotes"
authorAlan Modra <amodra@gmail.com>
Wed, 26 Aug 2015 13:25:41 +0000 (22:55 +0930)
committerAlan Modra <amodra@gmail.com>
Wed, 26 Aug 2015 13:37:24 +0000 (23:07 +0930)
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.

gas/ChangeLog
gas/config/tc-mn10200.c
gas/config/tc-mn10300.c
gas/config/tc-tilepro.c

index c595d51..6730a58 100644 (file)
@@ -1,3 +1,12 @@
+2015-08-26  Alan Modra  <amodra@gmail.com>
+
+       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.
+
 2015-08-26  Nick Clifton  <nickc@redhat.com>
 
        PR gas/18842
index 4d4f482..cabbcc1 100644 (file)
@@ -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))
index 0d13622..da05cac 100644 (file)
@@ -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)
index e7c7c64..a979473 100644 (file)
@@ -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 (&regname);
 
   void* pval = hash_find (main_reg_hash, regname);