* ada-lang.c (evaluate_subexp): Delete. Use the version from eval.c.

(evaluate_subexp_type): Reimplement using evaluate_subexp.
        * value.h (evaluate_subexp): Add declaration.
        * eval.c (evaluate_subexp): Make non-static.
        * objc-lang.c (print_object_command): Use evaluate_subexp.
This commit is contained in:
Joel Brobecker
2009-06-23 16:37:19 +00:00
parent 69de3c6af9
commit 4b27a62068
5 changed files with 16 additions and 19 deletions

View File

@ -1,3 +1,11 @@
2009-06-23 Joel Brobecker <brobecker@adacore.com>
* ada-lang.c (evaluate_subexp): Delete. Use the version from eval.c.
(evaluate_subexp_type): Reimplement using evaluate_subexp.
* value.h (evaluate_subexp): Add declaration.
* eval.c (evaluate_subexp): Make non-static.
* objc-lang.c (print_object_command): Use evaluate_subexp.
2009-06-23 Paul Pluzhnikov <ppluzhnikov@google.com> 2009-06-23 Paul Pluzhnikov <ppluzhnikov@google.com>
Revert 2009-05-14 breakpoint commit (no longer needed). Revert 2009-05-14 breakpoint commit (no longer needed).

View File

@ -157,9 +157,6 @@ static struct symbol *find_old_style_renaming_symbol (const char *,
static struct type *ada_lookup_struct_elt_type (struct type *, char *, static struct type *ada_lookup_struct_elt_type (struct type *, char *,
int, int, int *); int, int, int *);
static struct value *evaluate_subexp (struct type *, struct expression *,
int *, enum noside);
static struct value *evaluate_subexp_type (struct expression *, int *); static struct value *evaluate_subexp_type (struct expression *, int *);
static int is_dynamic_field (struct type *, int); static int is_dynamic_field (struct type *, int);
@ -7730,14 +7727,6 @@ ada_enum_name (const char *name)
} }
} }
static struct value *
evaluate_subexp (struct type *expect_type, struct expression *exp, int *pos,
enum noside noside)
{
return (*exp->language_defn->la_exp_desc->evaluate_exp)
(expect_type, exp, pos, noside);
}
/* Evaluate the subexpression of EXP starting at *POS as for /* Evaluate the subexpression of EXP starting at *POS as for
evaluate_type, updating *POS to point just past the evaluated evaluate_type, updating *POS to point just past the evaluated
expression. */ expression. */
@ -7745,8 +7734,7 @@ evaluate_subexp (struct type *expect_type, struct expression *exp, int *pos,
static struct value * static struct value *
evaluate_subexp_type (struct expression *exp, int *pos) evaluate_subexp_type (struct expression *exp, int *pos)
{ {
return (*exp->language_defn->la_exp_desc->evaluate_exp) return evaluate_subexp (NULL_TYPE, exp, pos, EVAL_AVOID_SIDE_EFFECTS);
(NULL_TYPE, exp, pos, EVAL_AVOID_SIDE_EFFECTS);
} }
/* If VAL is wrapped in an aligner or subtype wrapper, return the /* If VAL is wrapped in an aligner or subtype wrapper, return the

View File

@ -56,9 +56,6 @@ static struct value *evaluate_subexp_for_sizeof (struct expression *, int *);
static struct value *evaluate_subexp_for_address (struct expression *, static struct value *evaluate_subexp_for_address (struct expression *,
int *, enum noside); int *, enum noside);
static struct value *evaluate_subexp (struct type *, struct expression *,
int *, enum noside);
static char *get_label (struct expression *, int *); static char *get_label (struct expression *, int *);
static struct value *evaluate_struct_tuple (struct value *, static struct value *evaluate_struct_tuple (struct value *,
@ -69,7 +66,7 @@ static LONGEST init_array_element (struct value *, struct value *,
struct expression *, int *, enum noside, struct expression *, int *, enum noside,
LONGEST, LONGEST); LONGEST, LONGEST);
static struct value * struct value *
evaluate_subexp (struct type *expect_type, struct expression *exp, evaluate_subexp (struct type *expect_type, struct expression *exp,
int *pos, enum noside noside) int *pos, enum noside noside)
{ {

View File

@ -1421,8 +1421,8 @@ print_object_command (char *args, int from_tty)
make_cleanup (free_current_contents, &expr); make_cleanup (free_current_contents, &expr);
int pc = 0; int pc = 0;
object = expr->language_defn->la_exp_desc->evaluate_exp object = evaluate_subexp (builtin_type (expr->gdbarch)->builtin_data_ptr,
(builtin_type (expr->gdbarch)->builtin_data_ptr, expr, &pc, EVAL_NORMAL); expr, &pc, EVAL_NORMAL);
do_cleanups (old_chain); do_cleanups (old_chain);
} }

View File

@ -490,6 +490,10 @@ extern struct value *evaluate_expression (struct expression *exp);
extern struct value *evaluate_type (struct expression *exp); extern struct value *evaluate_type (struct expression *exp);
extern struct value *evaluate_subexp (struct type *expect_type,
struct expression *exp,
int *pos, enum noside noside);
extern struct value *evaluate_subexpression_type (struct expression *exp, extern struct value *evaluate_subexpression_type (struct expression *exp,
int subexp); int subexp);