diff options
author | qiyao <qiyao> | 2012-11-29 07:55:10 +0000 |
---|---|---|
committer | qiyao <qiyao> | 2012-11-29 07:55:10 +0000 |
commit | 8b7cb1707606825a780f2df5ee95bfbda4549931 (patch) | |
tree | 46bc42e8cf3d959be5da1eb363762c8581005c9e /gdb/eval.c | |
parent | a03fae644e4facdade86a1f3cc15dcc6d3ff94b2 (diff) | |
download | gdb-8b7cb1707606825a780f2df5ee95bfbda4549931.tar.gz |
gdb/
2012-11-29 Yao Qi <yao@codesourcery.com>
Tom Tromey <tromey@redhat.com>
* eval.c (evaluate_subexp_standard): Get the correct pointer
type for TYPE_CODE_MEMBERPTR.
Diffstat (limited to 'gdb/eval.c')
-rw-r--r-- | gdb/eval.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gdb/eval.c b/gdb/eval.c index 55582e03292..7d48d7e42f4 100644 --- a/gdb/eval.c +++ b/gdb/eval.c @@ -1404,13 +1404,15 @@ evaluate_subexp_standard (struct type *expect_type, { struct type *type_ptr = lookup_pointer_type (TYPE_DOMAIN_TYPE (type)); + struct type *target_type_ptr + = lookup_pointer_type (TYPE_TARGET_TYPE (type)); /* Now, convert these values to an address. */ arg2 = value_cast (type_ptr, arg2); mem_offset = value_as_long (arg1); - arg1 = value_from_pointer (type_ptr, + arg1 = value_from_pointer (target_type_ptr, value_as_long (arg2) + mem_offset); arg1 = value_ind (arg1); tem = 1; |