summaryrefslogtreecommitdiff
path: root/gdb/ada-valprint.c
diff options
context:
space:
mode:
authorJoel Brobecker <brobecker@gnat.com>2011-01-18 16:38:56 +0000
committerJoel Brobecker <brobecker@gnat.com>2011-01-18 16:38:56 +0000
commit0169803b39156cc778373af253395e372a66aeb7 (patch)
treee607ba2aaa6d0db322109e44c67290038933e861 /gdb/ada-valprint.c
parent42294ab40a733dbca9258929d0a6ec72e3059fbc (diff)
downloadgdb-0169803b39156cc778373af253395e372a66aeb7.tar.gz
fix printing of Ada wide characters on ppc-aix
Same problem as before: We were downcasting the character value from int to unsigned char, which caused an overflow. The reason why we did not see this problem before is probably related to the fact that we're using stabs on AIX and thus characters types are defined as a TYPE_CODE_INT (or TYPE_CODE_RANGE?). gdb/ChangeLog: * ada-valprint.c (ada_print_scalar): Remove unsigned char downcast. (ada_val_print_1): Likewise.
Diffstat (limited to 'gdb/ada-valprint.c')
-rw-r--r--gdb/ada-valprint.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/gdb/ada-valprint.c b/gdb/ada-valprint.c
index ee3761725fb..c08daeb4538 100644
--- a/gdb/ada-valprint.c
+++ b/gdb/ada-valprint.c
@@ -417,7 +417,7 @@ ada_print_scalar (struct type *type, LONGEST val, struct ui_file *stream)
break;
case TYPE_CODE_CHAR:
- LA_PRINT_CHAR ((unsigned char) val, type, stream);
+ LA_PRINT_CHAR (val, type, stream);
break;
case TYPE_CODE_BOOL:
@@ -801,8 +801,7 @@ ada_val_print_1 (struct type *type, const gdb_byte *valaddr0,
if (ada_is_character_type (type))
{
fputs_filtered (" ", stream);
- ada_printchar ((unsigned char) unpack_long (type, valaddr),
- type, stream);
+ ada_printchar (unpack_long (type, valaddr), type, stream);
}
}
return 0;