aboutsummaryrefslogtreecommitdiff
path: root/gdb/eval.c
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2020-12-15 18:35:13 -0700
committerTom Tromey <tom@tromey.com>2020-12-15 18:57:07 -0700
commitefd7ff149a42c865cac422e3bafdf386c91c5373 (patch)
tree1ad19dfafeaca30bc40c43adf55e826327ead802 /gdb/eval.c
parent2adab65cc07f07a581d57b05dfbc100952fab748 (diff)
downloadbinutils-efd7ff149a42c865cac422e3bafdf386c91c5373.zip
binutils-efd7ff149a42c865cac422e3bafdf386c91c5373.tar.gz
binutils-efd7ff149a42c865cac422e3bafdf386c91c5373.tar.bz2
Add expected type parameter to evaluate_expression
While working on the expression rewrite, I found a few spots that called the internal functions of the expression evaluator, just to pass in an expected type. This patch adds a parameter to evaluate_expression so that these functions can avoid this dependency. Regression tested on x86-64 Fedora 28. gdb/ChangeLog 2020-12-15 Tom Tromey <tom@tromey.com> * stap-probe.c (stap_probe::evaluate_argument): Use evaluate_expression. * dtrace-probe.c (dtrace_probe::evaluate_argument): Use evaluate_expression. * value.h (evaluate_expression): Add expect_type parameter. * objc-lang.c (print_object_command): Call evaluate_expression. * eval.c (evaluate_expression): Add expect_type parameter.
Diffstat (limited to 'gdb/eval.c')
-rw-r--r--gdb/eval.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/gdb/eval.c b/gdb/eval.c
index 2d088c8..c781fde 100644
--- a/gdb/eval.c
+++ b/gdb/eval.c
@@ -120,17 +120,15 @@ parse_to_comma_and_eval (const char **expp)
return evaluate_expression (expr.get ());
}
-/* Evaluate an expression in internal prefix form
- such as is constructed by parse.y.
- See expression.h for info on the format of an expression. */
+/* See value.h. */
struct value *
-evaluate_expression (struct expression *exp)
+evaluate_expression (struct expression *exp, struct type *expect_type)
{
int pc = 0;
- return evaluate_subexp (nullptr, exp, &pc, EVAL_NORMAL);
+ return evaluate_subexp (expect_type, exp, &pc, EVAL_NORMAL);
}
/* Evaluate an expression, avoiding all memory references