diff options
author | Keith Seitz <keiths@redhat.com> | 2012-01-09 20:27:49 +0000 |
---|---|---|
committer | Keith Seitz <keiths@redhat.com> | 2012-01-09 20:27:49 +0000 |
commit | 8e7b59a53f5851810d5feffbee9d339c4935f4eb (patch) | |
tree | f71e564362c8d3815b43534ff38935f79cefce4f /gdb/eval.c | |
parent | fc51264f9230258f6b621ab54100d21339943a88 (diff) | |
download | gdb-8e7b59a53f5851810d5feffbee9d339c4935f4eb.zip gdb-8e7b59a53f5851810d5feffbee9d339c4935f4eb.tar.gz gdb-8e7b59a53f5851810d5feffbee9d339c4935f4eb.tar.bz2 |
* 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
@@ -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) { |