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 c595d51e2742105215cdd7b527a77ca006e2fea6..6730a581aed807982a14bfe190b88b15ea884c0a 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 4d4f4827c37f556483ce9c2b52e4adff24f9873d..cabbcc106537cee667cd420f99cf6d59a0b7bea0 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 0d13622296f24730c08ce0d218ab25e73926fe05..da05cac972ee5be7d8ae681d2d1535e1c5bf9adc 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 e7c7c642d925a80a9cc1d0ada23bc31adcf62910..a979473e99ce6014dcd370a968b4e0c73298bd91 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);