mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-21 10:34:21 +08:00
* gdbtypes.c (make_pointer_type): Preserve the pointer type chain
and set the length of all the variants of the pointer type.
This commit is contained in:
@ -1,3 +1,8 @@
|
|||||||
|
2007-05-17 Joel Brobecker <brobecker@adacore.com>
|
||||||
|
|
||||||
|
* gdbtypes.c (make_pointer_type): Preserve the pointer type chain
|
||||||
|
and set the length of all the variants of the pointer type.
|
||||||
|
|
||||||
2007-05-17 Maciej W. Rozycki <macro@mips.com>
|
2007-05-17 Maciej W. Rozycki <macro@mips.com>
|
||||||
|
|
||||||
* mips-tdep.c (mips_n32n64_push_dummy_call): Fix and reformat a
|
* mips-tdep.c (mips_n32n64_push_dummy_call): Fix and reformat a
|
||||||
|
@ -276,6 +276,7 @@ make_pointer_type (struct type *type, struct type **typeptr)
|
|||||||
{
|
{
|
||||||
struct type *ntype; /* New type */
|
struct type *ntype; /* New type */
|
||||||
struct objfile *objfile;
|
struct objfile *objfile;
|
||||||
|
struct type *chain;
|
||||||
|
|
||||||
ntype = TYPE_POINTER_TYPE (type);
|
ntype = TYPE_POINTER_TYPE (type);
|
||||||
|
|
||||||
@ -301,7 +302,9 @@ make_pointer_type (struct type *type, struct type **typeptr)
|
|||||||
{
|
{
|
||||||
ntype = *typeptr;
|
ntype = *typeptr;
|
||||||
objfile = TYPE_OBJFILE (ntype);
|
objfile = TYPE_OBJFILE (ntype);
|
||||||
|
chain = TYPE_CHAIN (ntype);
|
||||||
smash_type (ntype);
|
smash_type (ntype);
|
||||||
|
TYPE_CHAIN (ntype) = chain;
|
||||||
TYPE_OBJFILE (ntype) = objfile;
|
TYPE_OBJFILE (ntype) = objfile;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -321,6 +324,14 @@ make_pointer_type (struct type *type, struct type **typeptr)
|
|||||||
if (!TYPE_POINTER_TYPE (type)) /* Remember it, if don't have one. */
|
if (!TYPE_POINTER_TYPE (type)) /* Remember it, if don't have one. */
|
||||||
TYPE_POINTER_TYPE (type) = ntype;
|
TYPE_POINTER_TYPE (type) = ntype;
|
||||||
|
|
||||||
|
/* Update the length of all the other variants of this type. */
|
||||||
|
chain = TYPE_CHAIN (ntype);
|
||||||
|
while (chain != ntype)
|
||||||
|
{
|
||||||
|
TYPE_LENGTH (chain) = TYPE_LENGTH (ntype);
|
||||||
|
chain = TYPE_CHAIN (chain);
|
||||||
|
}
|
||||||
|
|
||||||
return ntype;
|
return ntype;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user