aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.guile
diff options
context:
space:
mode:
authorDoug Evans <xdje42@gmail.com>2014-04-12 09:09:41 -0700
committerDoug Evans <xdje42@gmail.com>2014-04-12 09:09:41 -0700
commit0be03e84176ab0077462b84ef236c56a7a0376fd (patch)
tree23beb33097129d8c9ff8798ba111f9150c273bed /gdb/testsuite/gdb.guile
parentf180a1fb463a6a9ab4a883374120d16770486914 (diff)
downloadgdb-0be03e84176ab0077462b84ef236c56a7a0376fd.zip
gdb-0be03e84176ab0077462b84ef236c56a7a0376fd.tar.gz
gdb-0be03e84176ab0077462b84ef236c56a7a0376fd.tar.bz2
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.
Diffstat (limited to 'gdb/testsuite/gdb.guile')
-rw-r--r--gdb/testsuite/gdb.guile/scm-value.c2
-rw-r--r--gdb/testsuite/gdb.guile/scm-value.exp2
2 files changed, 4 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.guile/scm-value.c b/gdb/testsuite/gdb.guile/scm-value.c
index 3c61911..e4f7530 100644
--- a/gdb/testsuite/gdb.guile/scm-value.c
+++ b/gdb/testsuite/gdb.guile/scm-value.c
@@ -49,6 +49,8 @@ struct Derived : public Base {
};
Base *base = new Derived ();
+Derived derived;
+Base &base_ref = derived;
void ptr_ref(int*& rptr_int)
{
diff --git a/gdb/testsuite/gdb.guile/scm-value.exp b/gdb/testsuite/gdb.guile/scm-value.exp
index 0bcd381..2784da2 100644
--- a/gdb/testsuite/gdb.guile/scm-value.exp
+++ b/gdb/testsuite/gdb.guile/scm-value.exp
@@ -335,6 +335,8 @@ proc test_subscript_regression {exefile lang} {
# Likewise.
gdb_test "gu (print (value-dynamic-type (parse-and-eval \"base\")))" \
"= Derived \[*\]"
+ gdb_test "gu (print (value-dynamic-type (parse-and-eval \"base_ref\")))" \
+ "= Derived \[&\]"
# A static type case.
gdb_test "gu (print (value-dynamic-type (parse-and-eval \"5\")))" \
"= int"