Fix MRI mode testsuite failures

These fails were introduced by git commit 2469b3c584 with the
inroduction of "input_from_string":
m68k-linux  FAIL: MRI structured for
m68k-linux  FAIL: MRI structured if
m68k-linux  FAIL: MRI structured repeat
m68k-linux  FAIL: MRI structured while

Since the m68k parser called expression() without setting
input_from_string, get_symbol_name rejected FAKE_LABEL_CHAR in names.

	* config/m68k-parse.y (yylex): Use temp_ilp and restore_ilp.
This commit is contained in:
Alan Modra 2019-03-18 22:16:24 +10:30
parent 8cd1fe1bf5
commit c6cdff46c9
2 changed files with 8 additions and 7 deletions

View File

@ -1,3 +1,7 @@
2019-03-18 Alan Modra <amodra@gmail.com>
* config/m68k-parse.y (yylex): Use temp_ilp and restore_ilp.
2019-03-18 H.J. Lu <hongjiu.lu@intel.com>
* testsuite/gas/i386/att-regs.d: Pass -O0 to assembler.

View File

@ -754,7 +754,6 @@ yylex (void)
int parens;
int c = 0;
int tail = 0;
char *hold;
if (*str == ' ')
++str;
@ -913,11 +912,10 @@ yylex (void)
++s;
hold = input_line_pointer;
input_line_pointer = s;
temp_ilp (s);
expression (&scale);
s = input_line_pointer;
input_line_pointer = hold;
restore_ilp ();
if (scale.X_op != O_constant)
yyerror (_("scale specification must resolve to a number"));
@ -1071,11 +1069,10 @@ yylex (void)
s[-tail] = 0;
}
hold = input_line_pointer;
input_line_pointer = str;
temp_ilp (str);
expression (&yylval.exp.exp);
str = input_line_pointer;
input_line_pointer = hold;
restore_ilp ();
if (tail != 0)
{