aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/stack.c2
2 files changed, 7 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index baa9716..fc58c2a 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,10 @@
2007-11-09 Joel Brobecker <brobecker@adacore.com>
+ * stack.c (print_this_frame_argument_p): Handle arguments passed
+ by reference properly.
+
+2007-11-09 Joel Brobecker <brobecker@adacore.com>
+
* stack.c (print_frame_arguments_choices): New static global.
(print_frame_arguments): Likewise.
(print_this_frame_argument_p): New function.
diff --git a/gdb/stack.c b/gdb/stack.c
index e034033..220a411 100644
--- a/gdb/stack.c
+++ b/gdb/stack.c
@@ -179,6 +179,8 @@ print_this_frame_argument_p (struct symbol *sym)
print the non-scalar ones. */
type = CHECK_TYPEDEF (SYMBOL_TYPE (sym));
+ while (TYPE_CODE (type) == TYPE_CODE_REF)
+ type = CHECK_TYPEDEF (TYPE_TARGET_TYPE (type));
switch (TYPE_CODE (type))
{
case TYPE_CODE_ARRAY: