aboutsummaryrefslogtreecommitdiff
path: root/gdb/guile
diff options
context:
space:
mode:
authorGeorge Barrett <bob@bob131.so>2021-04-29 03:32:37 +1000
committerAndrew Burgess <andrew.burgess@embecosm.com>2021-05-12 12:35:36 +0100
commit97cef6b7b79c22a3cc14ef369c1dc09a8bcca357 (patch)
treefbe15647862a44d89d93cf12e0431bb40a4a38a9 /gdb/guile
parent84139c58642a8a6b857cad1c50420264452882f9 (diff)
downloadgdb-97cef6b7b79c22a3cc14ef369c1dc09a8bcca357.zip
gdb-97cef6b7b79c22a3cc14ef369c1dc09a8bcca357.tar.gz
gdb-97cef6b7b79c22a3cc14ef369c1dc09a8bcca357.tar.bz2
Guile: improved rvalue reference support
Adds a couple of missing bits to the Guile API to make C++11 rvalue reference values and types usable from Guile scripts. gdb/ChangeLog: * guile/scm-type.c (type_integer_constants): Add binding for TYPE_CODE_RVALUE_REF. * guile/scm-value.c (gdbscm_value_referenced_value): Handle dereferencing of rvalue references. * NEWS (Guile API): Note improvements in rvalue reference support. gdb/doc/ChangeLog: * guile.texi (Types In Guile): Add documentation for TYPE_CODE_RVALUE_REF.
Diffstat (limited to 'gdb/guile')
-rw-r--r--gdb/guile/scm-type.c1
-rw-r--r--gdb/guile/scm-value.c1
2 files changed, 2 insertions, 0 deletions
diff --git a/gdb/guile/scm-type.c b/gdb/guile/scm-type.c
index 8d9c2c5..d65102b 100644
--- a/gdb/guile/scm-type.c
+++ b/gdb/guile/scm-type.c
@@ -1318,6 +1318,7 @@ static const scheme_integer_constant type_integer_constants[] =
X (TYPE_CODE_METHODPTR),
X (TYPE_CODE_MEMBERPTR),
X (TYPE_CODE_REF),
+ X (TYPE_CODE_RVALUE_REF),
X (TYPE_CODE_CHAR),
X (TYPE_CODE_BOOL),
X (TYPE_CODE_COMPLEX),
diff --git a/gdb/guile/scm-value.c b/gdb/guile/scm-value.c
index 5999516..f50e8b5 100644
--- a/gdb/guile/scm-value.c
+++ b/gdb/guile/scm-value.c
@@ -476,6 +476,7 @@ gdbscm_value_referenced_value (SCM self)
res_val = value_ind (value);
break;
case TYPE_CODE_REF:
+ case TYPE_CODE_RVALUE_REF:
res_val = coerce_ref (value);
break;
default: