diff options
Diffstat (limited to 'gdb/python')
-rw-r--r-- | gdb/python/py-value.c | 2 | ||||
-rw-r--r-- | gdb/python/py-xmethods.c | 5 |
2 files changed, 4 insertions, 3 deletions
diff --git a/gdb/python/py-value.c b/gdb/python/py-value.c index a56e555d47f..c848f0f65d5 100644 --- a/gdb/python/py-value.c +++ b/gdb/python/py-value.c @@ -248,7 +248,7 @@ valpy_reference_value (PyObject *self, PyObject *args) scoped_value_mark free_values; self_val = ((value_object *) self)->value; - result = value_to_value_object (value_ref (self_val)); + result = value_to_value_object (value_ref (self_val, TYPE_CODE_REF)); } CATCH (except, RETURN_MASK_ALL) { diff --git a/gdb/python/py-xmethods.c b/gdb/python/py-xmethods.c index 8a9bb9b1c96..d01488fc744 100644 --- a/gdb/python/py-xmethods.c +++ b/gdb/python/py-xmethods.c @@ -552,9 +552,10 @@ gdbpy_invoke_xmethod (const struct extension_language_defn *extlang, if (!types_equal (obj_type, this_ptr)) obj = value_cast (this_ptr, obj); } - else if (TYPE_CODE (obj_type) == TYPE_CODE_REF) + else if (TYPE_IS_REFERENCE (obj_type)) { - struct type *this_ref = lookup_lvalue_reference_type (this_type); + struct type *this_ref + = lookup_reference_type (this_type, TYPE_CODE (obj_type)); if (!types_equal (obj_type, this_ref)) obj = value_cast (this_ref, obj); |