]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
fix printing of Ada wide characters on ppc-aix
authorJoel Brobecker <brobecker@gnat.com>
Tue, 18 Jan 2011 17:03:57 +0000 (17:03 +0000)
committerJoel Brobecker <brobecker@gnat.com>
Tue, 18 Jan 2011 17:03:57 +0000 (17:03 +0000)
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.

gdb/ChangeLog
gdb/ada-valprint.c

index 4edda80c5c37201715a655468a2510e0ac61f357..41c076bc06cf6493cb972432add9143705f515c4 100644 (file)
@@ -1,3 +1,8 @@
+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-14  Joel Brobecker  <brobecker@adacore.com>
 
        * ada-valprint. (ada_printchar): Use the correct type length
index c9a8c94628db29ceb9761b80104f7db580224e47..cc74a33113a5877c8dadf0d001d512ddefe869d2 100644 (file)
@@ -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:
@@ -795,8 +795,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;