diff options
author | Daniel Jacobowitz <dan@debian.org> | 2004-03-09 17:08:25 +0000 |
---|---|---|
committer | Daniel Jacobowitz <dan@debian.org> | 2004-03-09 17:08:25 +0000 |
commit | 2566e3bfcdb4f36f7d2ded7184b998b5a8489e99 (patch) | |
tree | c48f05d36a437719920fd09a590f94bfcad598b2 /gdb/arm-tdep.c | |
parent | 33b64ea2e6da35a14af8dabec0a3a11c02b6489e (diff) | |
download | gdb-2566e3bfcdb4f36f7d2ded7184b998b5a8489e99.tar.gz |
* arm-tdep.c (arm_use_struct_convention): Look through typedefs.
* gdbtypes.c (check_typedef): Update comments.
Diffstat (limited to 'gdb/arm-tdep.c')
-rw-r--r-- | gdb/arm-tdep.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gdb/arm-tdep.c b/gdb/arm-tdep.c index 05c0f23d035..bf54a318d19 100644 --- a/gdb/arm-tdep.c +++ b/gdb/arm-tdep.c @@ -2173,6 +2173,8 @@ arm_use_struct_convention (int gcc_p, struct type *type) int nRc; enum type_code code; + CHECK_TYPEDEF (type); + /* In the ARM ABI, "integer" like aggregate types are returned in registers. For an aggregate type to be integer like, its size must be less than or equal to DEPRECATED_REGISTER_SIZE and the @@ -2230,7 +2232,7 @@ arm_use_struct_convention (int gcc_p, struct type *type) for (i = 0; i < TYPE_NFIELDS (type); i++) { enum type_code field_type_code; - field_type_code = TYPE_CODE (TYPE_FIELD_TYPE (type, i)); + field_type_code = TYPE_CODE (check_typedef (TYPE_FIELD_TYPE (type, i))); /* Is it a floating point type field? */ if (field_type_code == TYPE_CODE_FLT) |