diff options
author | Keith Seitz <keiths@redhat.com> | 2012-01-09 20:27:41 +0000 |
---|---|---|
committer | Keith Seitz <keiths@redhat.com> | 2012-01-09 20:27:41 +0000 |
commit | 8029d61b44899feca9110c468692eec40d56db10 (patch) | |
tree | 10a668af9818663761e56f394c4c822d0355d323 /gdb/eval.c | |
parent | b37458def40a3a1217a3ac84072386c686bfb278 (diff) | |
download | gdb-8029d61b44899feca9110c468692eec40d56db10.tar.gz |
* Makefile.in (SFILES): Remove wrapper.c.
(HFILES_NO_SRCDIR): Remove wrapper.h.
(COMMON_OBS): Remove wrapper.o.
* cli/cli-interp.c: Don't inlude wrapper.h.
* corelow.c: Likewise.
(core_open): Replace gdb_target_find_new_threads with
TRY_CATCH around target_find_new_threads.
* eval.c (fetch_subexp_value): Likewise for value_fetch_lazy.
* gdbtypes.c (safe_parse_type): Likewise for parse_and_eval_type.
* varobj.c (varobj_create): Likewise for parse_exp_1 and
evaluate_expression.
(varobj_set_value): Likewise for evaluate_expression and
value_assign.
(install_new_variable): Likewise for value_fetch_lazy.
(adjust_value_for_child_access): Likewise for value_ind.
(c_describe_child): Likewise for value_subscript and
value_ind.
(c_value_of_root): Likewise for evaluate_expression.
* wrapper.c: Remove.
* wrapper.h: Remove.
Diffstat (limited to 'gdb/eval.c')
-rw-r--r-- | gdb/eval.c | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/gdb/eval.c b/gdb/eval.c index d48b450e92f..0244f7a039b 100644 --- a/gdb/eval.c +++ b/gdb/eval.c @@ -41,7 +41,6 @@ #include "gdb_obstack.h" #include "objfiles.h" #include "python/python.h" -#include "wrapper.h" #include "gdb_assert.h" @@ -234,9 +233,21 @@ fetch_subexp_value (struct expression *exp, int *pc, struct value **valp, /* Make sure it's not lazy, so that after the target stops again we have a non-lazy previous value to compare with. */ - if (result != NULL - && (!value_lazy (result) || gdb_value_fetch_lazy (result))) - *valp = result; + if (result != NULL) + { + if (!value_lazy (result)) + *valp = result; + else + { + volatile struct gdb_exception except; + + TRY_CATCH (except, RETURN_MASK_ERROR) + { + value_fetch_lazy (result); + *valp = result; + } + } + } if (val_chain) { |