diff options
author | Doug Evans <xdje42@gmail.com> | 2014-04-12 09:09:41 -0700 |
---|---|---|
committer | Doug Evans <xdje42@gmail.com> | 2014-04-12 09:09:41 -0700 |
commit | 0be03e84176ab0077462b84ef236c56a7a0376fd (patch) | |
tree | 23beb33097129d8c9ff8798ba111f9150c273bed /gdb/testsuite/gdb.guile | |
parent | f180a1fb463a6a9ab4a883374120d16770486914 (diff) | |
download | gdb-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.c | 2 | ||||
-rw-r--r-- | gdb/testsuite/gdb.guile/scm-value.exp | 2 |
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" |