(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 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>
Revert 2009-05-14 breakpoint commit (no longer needed).
static struct type *ada_lookup_struct_elt_type (struct type *, char *,
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 int is_dynamic_field (struct type *, int);
}
}
-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_type, updating *POS to point just past the evaluated
expression. */
static struct value *
evaluate_subexp_type (struct expression *exp, int *pos)
{
- return (*exp->language_defn->la_exp_desc->evaluate_exp)
- (NULL_TYPE, exp, pos, EVAL_AVOID_SIDE_EFFECTS);
+ return evaluate_subexp (NULL_TYPE, exp, pos, EVAL_AVOID_SIDE_EFFECTS);
}
/* If VAL is wrapped in an aligner or subtype wrapper, return the
static struct value *evaluate_subexp_for_address (struct expression *,
int *, enum noside);
-static struct value *evaluate_subexp (struct type *, struct expression *,
- int *, enum noside);
-
static char *get_label (struct expression *, int *);
static struct value *evaluate_struct_tuple (struct value *,
struct expression *, int *, enum noside,
LONGEST, LONGEST);
-static struct value *
+struct value *
evaluate_subexp (struct type *expect_type, struct expression *exp,
int *pos, enum noside noside)
{
make_cleanup (free_current_contents, &expr);
int pc = 0;
- object = expr->language_defn->la_exp_desc->evaluate_exp
- (builtin_type (expr->gdbarch)->builtin_data_ptr, expr, &pc, EVAL_NORMAL);
+ object = evaluate_subexp (builtin_type (expr->gdbarch)->builtin_data_ptr,
+ expr, &pc, EVAL_NORMAL);
do_cleanups (old_chain);
}
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,
int subexp);