Bug 19113 - read.c stringer assertion

Fails due to signed char promotion.

	PR gas/19113
	* read.c (next_char_of_string): Mask char after escape.  Use
	CHAR_MASK rather than 0xff.
This commit is contained in:
Alan Modra
2015-10-10 10:48:05 +10:30
parent bd4e004229
commit d980077618
2 changed files with 9 additions and 3 deletions

View File

@ -1,3 +1,9 @@
2015-10-10 Alan Modra <amodra@gmail.com>
PR gas/19113
* read.c (next_char_of_string): Mask char after escape. Use
CHAR_MASK rather than 0xff.
2015-10-07 Yao Qi <yao.qi@linaro.org> 2015-10-07 Yao Qi <yao.qi@linaro.org>
* config/tc-aarch64.c (md_begin): Access field 'name' rather * config/tc-aarch64.c (md_begin): Access field 'name' rather

View File

@ -5415,7 +5415,7 @@ next_char_of_string (void)
#ifndef NO_STRING_ESCAPES #ifndef NO_STRING_ESCAPES
case '\\': case '\\':
switch (c = *input_line_pointer++) switch (c = *input_line_pointer++ & CHAR_MASK)
{ {
case 'b': case 'b':
c = '\b'; c = '\b';
@ -5466,7 +5466,7 @@ next_char_of_string (void)
number = number * 8 + c - '0'; number = number * 8 + c - '0';
} }
c = number & 0xff; c = number & CHAR_MASK;
} }
--input_line_pointer; --input_line_pointer;
break; break;
@ -5488,7 +5488,7 @@ next_char_of_string (void)
number = number * 16 + c - 'a' + 10; number = number * 16 + c - 'a' + 10;
c = *input_line_pointer++; c = *input_line_pointer++;
} }
c = number & 0xff; c = number & CHAR_MASK;
--input_line_pointer; --input_line_pointer;
} }
break; break;