From 0be03e84176ab0077462b84ef236c56a7a0376fd Mon Sep 17 00:00:00 2001 From: Doug Evans Date: Sat, 12 Apr 2014 09:09:41 -0700 Subject: Copy over fix for fetching dynamic type of a reference from python side. * guile/scm-value.c (gdbscm_value_dynamic_type): Use coerce_ref to dereference TYPE_CODE_REF values. testsuite/ * gdb.guile/scm-value.c: Improve test case. * gdb.guile/scm-value.exp: Add new test. --- gdb/guile/scm-value.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'gdb/guile/scm-value.c') diff --git a/gdb/guile/scm-value.c b/gdb/guile/scm-value.c index 8ca0762..2160a1e 100644 --- a/gdb/guile/scm-value.c +++ b/gdb/guile/scm-value.c @@ -585,7 +585,10 @@ gdbscm_value_dynamic_type (SCM self) struct value *target; int was_pointer = TYPE_CODE (type) == TYPE_CODE_PTR; - target = value_ind (value); + if (was_pointer) + target = value_ind (value); + else + target = coerce_ref (value); type = value_rtti_type (target, NULL, NULL, NULL); if (type) -- cgit v1.1