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> 2019-03-18 H.J. Lu <hongjiu.lu@intel.com>
* testsuite/gas/i386/att-regs.d: Pass -O0 to assembler. * testsuite/gas/i386/att-regs.d: Pass -O0 to assembler.

View File

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