aboutsummaryrefslogtreecommitdiff
path: root/gdb/arm-tdep.c
diff options
context:
space:
mode:
authorDaniel Jacobowitz <drow@false.org>2004-03-09 17:08:25 +0000
committerDaniel Jacobowitz <drow@false.org>2004-03-09 17:08:25 +0000
commit44e1a9eb2556723d464e53f3bf2fd34b6cf5aa13 (patch)
tree5bbbfbd12b3dc6481d2dfb946a4cf5fd3fc3b335 /gdb/arm-tdep.c
parent283014616ee05c93c7164a20384a29d5e43550af (diff)
downloadgdb-44e1a9eb2556723d464e53f3bf2fd34b6cf5aa13.zip
gdb-44e1a9eb2556723d464e53f3bf2fd34b6cf5aa13.tar.gz
gdb-44e1a9eb2556723d464e53f3bf2fd34b6cf5aa13.tar.bz2
* 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.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gdb/arm-tdep.c b/gdb/arm-tdep.c
index 05c0f23..bf54a31 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)