Bug 19113 - read.c stringer assertion
Alan Modra
amodra@gmail.com
Sat Oct 10 00:24:00 GMT 2015
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.
diff --git a/gas/read.c b/gas/read.c
index a3e83c3..53440de 100644
--- a/gas/read.c
+++ b/gas/read.c
@@ -5415,7 +5415,7 @@ next_char_of_string (void)
#ifndef NO_STRING_ESCAPES
case '\\':
- switch (c = *input_line_pointer++)
+ switch (c = *input_line_pointer++ & CHAR_MASK)
{
case 'b':
c = '\b';
@@ -5466,7 +5466,7 @@ next_char_of_string (void)
number = number * 8 + c - '0';
}
- c = number & 0xff;
+ c = number & CHAR_MASK;
}
--input_line_pointer;
break;
@@ -5488,7 +5488,7 @@ next_char_of_string (void)
number = number * 16 + c - 'a' + 10;
c = *input_line_pointer++;
}
- c = number & 0xff;
+ c = number & CHAR_MASK;
--input_line_pointer;
}
break;
--
Alan Modra
Australia Development Lab, IBM
More information about the Binutils
mailing list