summaryrefslogtreecommitdiff
path: root/gdb/dwarf2expr.c
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2011-07-08 16:02:57 +0000
committerTom Tromey <tromey@redhat.com>2011-07-08 16:02:57 +0000
commitd8e82ca581adc62de2d816cbe06c4ff87b1444a9 (patch)
treee13044259cdbf08ff99ef1b47acfea7f0561d5f4 /gdb/dwarf2expr.c
parentd38fa148621cc1679e8035b10bb3ee441ae6c3a7 (diff)
downloadgdb-d8e82ca581adc62de2d816cbe06c4ff87b1444a9.tar.gz
* dwarf2expr.c (execute_stack_op): Add QUIT.
Diffstat (limited to 'gdb/dwarf2expr.c')
-rw-r--r--gdb/dwarf2expr.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gdb/dwarf2expr.c b/gdb/dwarf2expr.c
index c5ea85da802..4522eb8b0f4 100644
--- a/gdb/dwarf2expr.c
+++ b/gdb/dwarf2expr.c
@@ -521,6 +521,10 @@ execute_stack_op (struct dwarf_expr_context *ctx,
LONGEST offset;
struct value *result_val = NULL;
+ /* The DWARF expression might have a bug causing an infinite
+ loop. In that case, quitting is the only way out. */
+ QUIT;
+
switch (op)
{
case DW_OP_lit0: