In gdb/testsuite/gdb.base/charset.c, the last argument is greater than 127
when call fill_run() in EBCDIC-US and IBM1047, but the type of string[] is
char, this will change the value due to sign extension.
For example, ebcdic_us_string[7] will be -63 instead of the original 193 in
EBCDIC-US.
Make the type of string[] as unsigned char to fix the following six failed
testcases:
$ grep FAIL gdb/testsuite/gdb.sum
FAIL: gdb.base/charset.exp: check value of parsed character literal in EBCDIC-US
FAIL: gdb.base/charset.exp: check value of parsed string literal in EBCDIC-US
FAIL: gdb.base/charset.exp: check value of escape that doesn't exist in EBCDIC-US
FAIL: gdb.base/charset.exp: check value of parsed character literal in IBM1047
FAIL: gdb.base/charset.exp: check value of parsed string literal in IBM1047
FAIL: gdb.base/charset.exp: check value of escape that doesn't exist in IBM1047
Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>
-char ascii_string[NUM_CHARS];
-char iso_8859_1_string[NUM_CHARS];
-char ebcdic_us_string[NUM_CHARS];
-char ibm1047_string[NUM_CHARS];
+unsigned char ascii_string[NUM_CHARS];
+unsigned char iso_8859_1_string[NUM_CHARS];
+unsigned char ebcdic_us_string[NUM_CHARS];
+unsigned char ibm1047_string[NUM_CHARS];
explicit casts or warnings. */
void
explicit casts or warnings. */
void
-init_string (char string[],
+init_string (unsigned char string[],
unsigned char x,
unsigned char alert,
unsigned char backspace,
unsigned char x,
unsigned char alert,
unsigned char backspace,
-fill_run (char string[], int start, int len, int first)
+fill_run (unsigned char string[], int start, int len, int first)