diff options
Diffstat (limited to 'gdb/eval.c')
-rw-r--r-- | gdb/eval.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/gdb/eval.c b/gdb/eval.c index c2ff903d998..9bbaa68244d 100644 --- a/gdb/eval.c +++ b/gdb/eval.c @@ -85,7 +85,7 @@ parse_and_eval_address (exp) struct expression *expr = parse_expression (exp); register CORE_ADDR addr; register struct cleanup *old_chain = - make_cleanup ((make_cleanup_func) free_current_contents, &expr); + make_cleanup (free_current_contents, &expr); addr = value_as_pointer (evaluate_expression (expr)); do_cleanups (old_chain); @@ -102,7 +102,7 @@ parse_and_eval_address_1 (expptr) struct expression *expr = parse_exp_1 (expptr, (struct block *) 0, 0); register CORE_ADDR addr; register struct cleanup *old_chain = - make_cleanup ((make_cleanup_func) free_current_contents, &expr); + make_cleanup (free_current_contents, &expr); addr = value_as_pointer (evaluate_expression (expr)); do_cleanups (old_chain); @@ -116,7 +116,7 @@ parse_and_eval (exp) struct expression *expr = parse_expression (exp); register value_ptr val; register struct cleanup *old_chain - = make_cleanup ((make_cleanup_func) free_current_contents, &expr); + = make_cleanup (free_current_contents, &expr); val = evaluate_expression (expr); do_cleanups (old_chain); @@ -134,7 +134,7 @@ parse_to_comma_and_eval (expp) struct expression *expr = parse_exp_1 (expp, (struct block *) 0, 1); register value_ptr val; register struct cleanup *old_chain - = make_cleanup ((make_cleanup_func) free_current_contents, &expr); + = make_cleanup (free_current_contents, &expr); val = evaluate_expression (expr); do_cleanups (old_chain); @@ -832,8 +832,9 @@ evaluate_subexp_standard (expect_type, exp, pos, noside) /* Method invocation : stuff "this" as first parameter */ /* pai: this used to have lookup_pointer_type for some reason, * but temp is already a pointer to the object */ - argvec[1] = value_from_longest (VALUE_TYPE (temp), - VALUE_ADDRESS (temp) + VALUE_OFFSET (temp)); + argvec[1] + = value_from_pointer (VALUE_TYPE (temp), + VALUE_ADDRESS (temp) + VALUE_OFFSET (temp)); /* Name of method from expression */ strcpy (tstr, &exp->elts[pc2 + 2].string); @@ -1122,7 +1123,7 @@ evaluate_subexp_standard (expect_type, exp, pos, noside) /* Now, convert these values to an address. */ arg1 = value_cast (lookup_pointer_type (TYPE_DOMAIN_TYPE (type)), arg1); - arg3 = value_from_longest (lookup_pointer_type (TYPE_TARGET_TYPE (type)), + arg3 = value_from_pointer (lookup_pointer_type (TYPE_TARGET_TYPE (type)), value_as_long (arg1) + mem_offset); return value_ind (arg3); bad_pointer_to_member: |