aboutsummaryrefslogtreecommitdiff
path: root/gdb/eval.c
diff options
context:
space:
mode:
authorKeith Seitz <keiths@redhat.com>2012-01-09 20:27:49 +0000
committerKeith Seitz <keiths@redhat.com>2012-01-09 20:27:49 +0000
commit8e7b59a53f5851810d5feffbee9d339c4935f4eb (patch)
treef71e564362c8d3815b43534ff38935f79cefce4f /gdb/eval.c
parentfc51264f9230258f6b621ab54100d21339943a88 (diff)
downloadgdb-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.c19
1 files changed, 15 insertions, 4 deletions
diff --git a/gdb/eval.c b/gdb/eval.c
index d48b450..0244f7a 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)
{