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.
This commit is contained in:
Tom Tromey 2020-12-15 18:35:13 -07:00
parent 2adab65cc0
commit efd7ff149a
6 changed files with 26 additions and 15 deletions

View file

@ -1194,10 +1194,10 @@ print_object_command (const char *args, int from_tty)
{
expression_up expr = parse_expression (args);
int pc = 0;
object = evaluate_subexp (builtin_type (expr->gdbarch)->builtin_data_ptr,
expr.get (), &pc, EVAL_NORMAL);
object
= evaluate_expression (expr.get (),
builtin_type (expr->gdbarch)->builtin_data_ptr);
}
/* Validate the address for sanity. */