diff options
author | Joel Brobecker <brobecker@gnat.com> | 2010-05-05 16:59:00 +0000 |
---|---|---|
committer | Joel Brobecker <brobecker@gnat.com> | 2010-05-05 16:59:00 +0000 |
commit | 0497f5b03f47a7bf6e992d39b8057f647b181a8f (patch) | |
tree | 0666a4af6afa5c7a638cc288914c77b172450545 | |
parent | 3e01a7fd46524394beb69329a3979e741925c1bd (diff) | |
download | gdb-0497f5b03f47a7bf6e992d39b8057f647b181a8f.zip gdb-0497f5b03f47a7bf6e992d39b8057f647b181a8f.tar.gz gdb-0497f5b03f47a7bf6e992d39b8057f647b181a8f.tar.bz2 |
"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.
-rw-r--r-- | gdb/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/sparc-tdep.c | 7 | ||||
-rw-r--r-- | gdb/sparc64-tdep.c | 7 |
3 files changed, 18 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 1406840..b5f75b4 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2010-05-05 Joel Brobecker <brobecker@adacore.com> + + * sparc-tdep.c (sparc_structure_or_union_p): Return non-zero + for array types. + * sparc64-tdep.c (sparc64_structure_or_union_p): Likewise. + 2010-05-04 Pierre Muller <muller@ics.u-strasbg.fr> ARI fix: Remove ATTRIBUTE_UNUSED throughout. 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; diff --git a/gdb/sparc64-tdep.c b/gdb/sparc64-tdep.c index 9a34834..3cd6109 100644 --- a/gdb/sparc64-tdep.c +++ b/gdb/sparc64-tdep.c @@ -103,7 +103,11 @@ sparc64_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 sparc64_structure_or_union_p (const struct type *type) @@ -112,6 +116,7 @@ sparc64_structure_or_union_p (const struct type *type) { case TYPE_CODE_STRUCT: case TYPE_CODE_UNION: + case TYPE_CODE_ARRAY: return 1; default: break; |