From 0497f5b03f47a7bf6e992d39b8057f647b181a8f Mon Sep 17 00:00:00 2001 From: Joel Brobecker Date: Wed, 5 May 2010 16:59:00 +0000 Subject: "finish" does not work on sparc if function returns array. ChangeLog: * sparc-tdep.c (sparc_structure_or_union_p): Return non-zero for array types. * sparc64-tdep.c (sparc64_structure_or_union_p): Likewise. --- gdb/sparc-tdep.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'gdb/sparc-tdep.c') diff --git a/gdb/sparc-tdep.c b/gdb/sparc-tdep.c index a2bae9f..29a12cf 100644 --- a/gdb/sparc-tdep.c +++ b/gdb/sparc-tdep.c @@ -221,7 +221,11 @@ sparc_floating_p (const struct type *type) return 0; } -/* Check whether TYPE is "Structure or Union". */ +/* Check whether TYPE is "Structure or Union". + + In terms of Ada subprogram calls, arrays are treated the same as + struct and union types. So this function also returns non-zero + for array types. */ static int sparc_structure_or_union_p (const struct type *type) @@ -230,6 +234,7 @@ sparc_structure_or_union_p (const struct type *type) { case TYPE_CODE_STRUCT: case TYPE_CODE_UNION: + case TYPE_CODE_ARRAY: return 1; default: break; -- cgit v1.1