* gdbtypes.c (check_typedef): New comment on type length.
	* value.c (allocate_value_lazy): Remove the unused atype variable.  New
	comment on type length.
	(value_primitive_field): Keep the original TYPE value, new comment.

gdb/testsuite/
	* gdb.mi/var-cmd.c (do_bitfield_tests): Change "V.sharable" type to
	"uint_for_mi_testing".
This commit is contained in:
Jan Kratochvil 2010-01-03 18:55:32 +00:00
parent 5aade3dba4
commit c54eabfaa8
5 changed files with 38 additions and 6 deletions

View file

@ -254,7 +254,14 @@ struct value *
allocate_value_lazy (struct type *type)
{
struct value *val;
struct type *atype = check_typedef (type);
/* Call check_typedef on our type to make sure that, if TYPE
is a TYPE_CODE_TYPEDEF, its length is set to the length
of the target type instead of zero. However, we do not
replace the typedef type by the target type, because we want
to keep the typedef in order to be able to set the VAL's type
description correctly. */
check_typedef (type);
val = (struct value *) xzalloc (sizeof (struct value));
val->contents = NULL;
@ -1873,7 +1880,14 @@ value_primitive_field (struct value *arg1, int offset,
CHECK_TYPEDEF (arg_type);
type = TYPE_FIELD_TYPE (arg_type, fieldno);
type = check_typedef (type);
/* Call check_typedef on our type to make sure that, if TYPE
is a TYPE_CODE_TYPEDEF, its length is set to the length
of the target type instead of zero. However, we do not
replace the typedef type by the target type, because we want
to keep the typedef in order to be able to print the type
description correctly. */
check_typedef (type);
/* Handle packed fields */