diff options
author | Joel Brobecker <brobecker@gnat.com> | 2009-06-23 16:37:18 +0000 |
---|---|---|
committer | Joel Brobecker <brobecker@gnat.com> | 2009-06-23 16:37:18 +0000 |
commit | eb70fe721320efe6f1b2064378239dd6b9ce80d2 (patch) | |
tree | 8b5c241acda34f94105a2b892b2e99399f88e361 | |
parent | c562c19a0f9256de2d491732f624385c6a9af337 (diff) | |
download | gdb-eb70fe721320efe6f1b2064378239dd6b9ce80d2.tar.gz |
* 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.
-rw-r--r-- | gdb/ChangeLog | 8 | ||||
-rw-r--r-- | gdb/ada-lang.c | 14 | ||||
-rw-r--r-- | gdb/eval.c | 5 | ||||
-rw-r--r-- | gdb/objc-lang.c | 4 | ||||
-rw-r--r-- | gdb/value.h | 4 |
5 files changed, 16 insertions, 19 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 9b191949667..400e767a949 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -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> Revert 2009-05-14 breakpoint commit (no longer needed). diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c index 02c7821593f..a1fa364527e 100644 --- a/gdb/ada-lang.c +++ b/gdb/ada-lang.c @@ -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 *, 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); @@ -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_type, updating *POS to point just past the evaluated expression. */ @@ -7745,8 +7734,7 @@ evaluate_subexp (struct type *expect_type, struct expression *exp, int *pos, 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 diff --git a/gdb/eval.c b/gdb/eval.c index df730057d80..c7698729861 100644 --- a/gdb/eval.c +++ b/gdb/eval.c @@ -56,9 +56,6 @@ static struct value *evaluate_subexp_for_sizeof (struct expression *, int *); 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 *, @@ -69,7 +66,7 @@ static LONGEST init_array_element (struct value *, 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) { diff --git a/gdb/objc-lang.c b/gdb/objc-lang.c index cff54bbaffd..a67ba37047b 100644 --- a/gdb/objc-lang.c +++ b/gdb/objc-lang.c @@ -1421,8 +1421,8 @@ print_object_command (char *args, int from_tty) 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); } diff --git a/gdb/value.h b/gdb/value.h index db4dcc1dd43..c31cce5a7e6 100644 --- a/gdb/value.h +++ b/gdb/value.h @@ -490,6 +490,10 @@ extern struct value *evaluate_expression (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, int subexp); |