* gdbtypes.h (struct builtin_type): Remove builtin_true_char

and builtin_true_unsigned_char.
	(builtin_type_true_char): Remove macro, add extern declaration.
	(builtin_type_true_unsigned_char): Add extern declaration.
	* gdbtypes.c (builtin_type_true_char): New global variable.
	(builtin_type_true_unsigned_char): Likewise.
	(_initialize_gdbtypes): Initialize them.
	(gdbtypes_post_init): Do not initialize builtin_true_char
	and builtin_true_unsigned_char members of struct builtin_type.

	* printcmd.c (print_scalar_formatted): Do not use builtin_type;
	use builtin_type_true_unsigned_char instead.

	* ada-valprint.c (ada_val_print_1): Use builtin_type_true_char
	instead of builtin_type_char for internal string.
This commit is contained in:
Ulrich Weigand
2008-09-11 14:21:21 +00:00
parent fde6c81990
commit b769d911fd
5 changed files with 42 additions and 24 deletions

View File

@ -111,6 +111,10 @@ struct type *builtin_type_ia64_quad;
/* Platform-neutral void type. */
struct type *builtin_type_void;
/* Platform-neutral character types. */
struct type *builtin_type_true_char;
struct type *builtin_type_true_unsigned_char;
int opaque_type_resolution = 1;
static void
@ -3109,14 +3113,6 @@ gdbtypes_post_init (struct gdbarch *gdbarch)
(TYPE_FLAG_NOSIGN
| (gdbarch_char_signed (gdbarch) ? 0 : TYPE_FLAG_UNSIGNED)),
"char", (struct objfile *) NULL);
builtin_type->builtin_true_char =
init_type (TYPE_CODE_CHAR, TARGET_CHAR_BIT / TARGET_CHAR_BIT,
0,
"true character", (struct objfile *) NULL);
builtin_type->builtin_true_unsigned_char =
init_type (TYPE_CODE_CHAR, TARGET_CHAR_BIT / TARGET_CHAR_BIT,
TYPE_FLAG_UNSIGNED,
"true character", (struct objfile *) NULL);
builtin_type->builtin_signed_char =
init_type (TYPE_CODE_INT, TARGET_CHAR_BIT / TARGET_CHAR_BIT,
0,
@ -3337,6 +3333,14 @@ _initialize_gdbtypes (void)
init_type (TYPE_CODE_VOID, 1,
0,
"void", (struct objfile *) NULL);
builtin_type_true_char =
init_type (TYPE_CODE_CHAR, TARGET_CHAR_BIT / TARGET_CHAR_BIT,
0,
"true character", (struct objfile *) NULL);
builtin_type_true_unsigned_char =
init_type (TYPE_CODE_CHAR, TARGET_CHAR_BIT / TARGET_CHAR_BIT,
TYPE_FLAG_UNSIGNED,
"true character", (struct objfile *) NULL);
add_setshow_zinteger_cmd ("overload", no_class, &overload_debug, _("\
Set debugging of C++ overloading."), _("\