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.
+2011-01-18 Joel Brobecker <brobecker@adacore.com>
+
+ * ada-valprint.c (ada_print_scalar): Remove unsigned char downcast.
+ (ada_val_print_1): Likewise.
+
2011-01-18 Joel Brobecker <brobecker@adacore.com>
* rs6000-tdep.c (rs6000_skip_prologue): Make sure that the prologue
break;
case TYPE_CODE_CHAR:
- LA_PRINT_CHAR ((unsigned char) val, type, stream);
+ LA_PRINT_CHAR (val, type, stream);
break;
case TYPE_CODE_BOOL:
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;